diff --git a/.gitignore b/.gitignore
index 100ce0d..b388cb3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,3 @@
-.idea/
.gradle/
build/
@@ -8,3 +7,36 @@ generatedKotlin/
/buildSrcTemp/
/serverData/
+
+# --- IntelliJ ---
+# User-specific stuff
+.idea/**/workspace.xml
+.idea/**/tasks.xml
+.idea/**/usage.statistics.xml
+.idea/**/dictionaries
+.idea/**/shelf
+
+# Generated files
+.idea/**/contentModel.xml
+.idea/artifacts
+.idea/compiler.xml
+.idea/jarRepositories.xml
+.idea/modules.xml
+.idea/modules
+*.iml
+
+# Sensitive or high-churn files
+.idea/**/dataSources/
+.idea/**/dataSources.ids
+.idea/**/dataSources.local.xml
+.idea/**/sqlDataSources.xml
+.idea/**/dynamic.xml
+.idea/**/uiDesigner.xml
+.idea/**/dbnavigator.xml
+
+# Gradle
+.idea/**/gradle.xml
+.idea/**/libraries
+
+# Plugins
+.idea/discord.xml
diff --git a/.idea/copyright/Uranos.xml b/.idea/copyright/Uranos.xml
new file mode 100644
index 0000000..4abccb8
--- /dev/null
+++ b/.idea/copyright/Uranos.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml
new file mode 100644
index 0000000..84c4e3e
--- /dev/null
+++ b/.idea/copyright/profiles_settings.xml
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..8f825fd
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/buildSrc/src/main/kotlin/space/uranos/mdsp/Constants.kt b/buildSrc/src/main/kotlin/space/uranos/mdsp/Constants.kt
index 183cd07..3dd0425 100644
--- a/buildSrc/src/main/kotlin/space/uranos/mdsp/Constants.kt
+++ b/buildSrc/src/main/kotlin/space/uranos/mdsp/Constants.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.mdsp
const val PRISMARINE_BASE_URL = "https://raw.githubusercontent.com/PrismarineJS/minecraft-data/master/data/pc/"
diff --git a/buildSrc/src/main/kotlin/space/uranos/mdsp/DataDownloader.kt b/buildSrc/src/main/kotlin/space/uranos/mdsp/DataDownloader.kt
index d19da0e..baf6532 100644
--- a/buildSrc/src/main/kotlin/space/uranos/mdsp/DataDownloader.kt
+++ b/buildSrc/src/main/kotlin/space/uranos/mdsp/DataDownloader.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.mdsp
import okhttp3.OkHttpClient
diff --git a/buildSrc/src/main/kotlin/space/uranos/mdsp/DataGeneratorRunner.kt b/buildSrc/src/main/kotlin/space/uranos/mdsp/DataGeneratorRunner.kt
index 374d499..53b87e3 100644
--- a/buildSrc/src/main/kotlin/space/uranos/mdsp/DataGeneratorRunner.kt
+++ b/buildSrc/src/main/kotlin/space/uranos/mdsp/DataGeneratorRunner.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.mdsp
import java.io.File
diff --git a/buildSrc/src/main/kotlin/space/uranos/mdsp/MinecraftDataSourcesPlugin.kt b/buildSrc/src/main/kotlin/space/uranos/mdsp/MinecraftDataSourcesPlugin.kt
index 6321095..f251f2d 100644
--- a/buildSrc/src/main/kotlin/space/uranos/mdsp/MinecraftDataSourcesPlugin.kt
+++ b/buildSrc/src/main/kotlin/space/uranos/mdsp/MinecraftDataSourcesPlugin.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.mdsp
import com.jsoniter.JsonIterator
diff --git a/buildSrc/src/main/kotlin/space/uranos/mdsp/generator/BlocksAndMaterialGenerator.kt b/buildSrc/src/main/kotlin/space/uranos/mdsp/generator/BlocksAndMaterialGenerator.kt
index 1bb34f8..ca140fe 100644
--- a/buildSrc/src/main/kotlin/space/uranos/mdsp/generator/BlocksAndMaterialGenerator.kt
+++ b/buildSrc/src/main/kotlin/space/uranos/mdsp/generator/BlocksAndMaterialGenerator.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.mdsp.generator
import com.google.common.base.CaseFormat
diff --git a/buildSrc/src/main/kotlin/space/uranos/mdsp/generator/Constants.kt b/buildSrc/src/main/kotlin/space/uranos/mdsp/generator/Constants.kt
index bdea999..e7406b1 100644
--- a/buildSrc/src/main/kotlin/space/uranos/mdsp/generator/Constants.kt
+++ b/buildSrc/src/main/kotlin/space/uranos/mdsp/generator/Constants.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.mdsp.generator
import com.squareup.kotlinpoet.ClassName
diff --git a/buildSrc/src/main/kotlin/space/uranos/mdsp/generator/EntitiesGenerator.kt b/buildSrc/src/main/kotlin/space/uranos/mdsp/generator/EntitiesGenerator.kt
index 1b71b7a..d071f8b 100644
--- a/buildSrc/src/main/kotlin/space/uranos/mdsp/generator/EntitiesGenerator.kt
+++ b/buildSrc/src/main/kotlin/space/uranos/mdsp/generator/EntitiesGenerator.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.mdsp.generator
import com.google.common.base.CaseFormat
diff --git a/buildSrc/src/main/kotlin/space/uranos/mdsp/generator/FluidIDMapGenerator.kt b/buildSrc/src/main/kotlin/space/uranos/mdsp/generator/FluidIDMapGenerator.kt
index ca82e42..2776eb0 100644
--- a/buildSrc/src/main/kotlin/space/uranos/mdsp/generator/FluidIDMapGenerator.kt
+++ b/buildSrc/src/main/kotlin/space/uranos/mdsp/generator/FluidIDMapGenerator.kt
@@ -1,11 +1,15 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.mdsp.generator
-import com.google.common.base.CaseFormat
-import com.jsoniter.JsonIterator
-import com.squareup.kotlinpoet.*
+import com.squareup.kotlinpoet.FileSpec
import com.squareup.kotlinpoet.ParameterizedTypeName.Companion.parameterizedBy
-import java.io.File
+import com.squareup.kotlinpoet.PropertySpec
import space.uranos.mdsp.JsonAny
+import java.io.File
class FluidIDMapGenerator(
private val workingDir: File,
diff --git a/buildSrc/src/main/kotlin/space/uranos/mdsp/generator/ItemTypeEnumGenerator.kt b/buildSrc/src/main/kotlin/space/uranos/mdsp/generator/ItemTypeEnumGenerator.kt
index 93deba9..0d808a1 100644
--- a/buildSrc/src/main/kotlin/space/uranos/mdsp/generator/ItemTypeEnumGenerator.kt
+++ b/buildSrc/src/main/kotlin/space/uranos/mdsp/generator/ItemTypeEnumGenerator.kt
@@ -1,11 +1,16 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.mdsp.generator
import com.google.common.base.CaseFormat
import com.squareup.kotlinpoet.*
import com.squareup.kotlinpoet.ParameterizedTypeName.Companion.parameterizedBy
-import java.io.File
-import space.uranos.mdsp.util.ConstructorPropertiesHelper
import space.uranos.mdsp.JsonAny
+import space.uranos.mdsp.util.ConstructorPropertiesHelper
+import java.io.File
class ItemTypeEnumGenerator(
private val workingDir: File,
diff --git a/buildSrc/src/main/kotlin/space/uranos/mdsp/generator/TagsGenerator.kt b/buildSrc/src/main/kotlin/space/uranos/mdsp/generator/TagsGenerator.kt
index 113ece2..4b04cda 100644
--- a/buildSrc/src/main/kotlin/space/uranos/mdsp/generator/TagsGenerator.kt
+++ b/buildSrc/src/main/kotlin/space/uranos/mdsp/generator/TagsGenerator.kt
@@ -1,8 +1,16 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.mdsp.generator
import com.jsoniter.JsonIterator
-import com.squareup.kotlinpoet.*
+import com.squareup.kotlinpoet.FileSpec
+import com.squareup.kotlinpoet.KModifier
import com.squareup.kotlinpoet.ParameterizedTypeName.Companion.parameterizedBy
+import com.squareup.kotlinpoet.PropertySpec
+import com.squareup.kotlinpoet.asTypeName
import java.io.File
class TagsGenerator(workingDir: File, private val outputDir: File) {
diff --git a/buildSrc/src/main/kotlin/space/uranos/mdsp/util/ConstructorPropertiesHelper.kt b/buildSrc/src/main/kotlin/space/uranos/mdsp/util/ConstructorPropertiesHelper.kt
index f56f56e..7dab801 100644
--- a/buildSrc/src/main/kotlin/space/uranos/mdsp/util/ConstructorPropertiesHelper.kt
+++ b/buildSrc/src/main/kotlin/space/uranos/mdsp/util/ConstructorPropertiesHelper.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.mdsp.util
import com.squareup.kotlinpoet.ParameterSpec
diff --git a/test-plugin/src/main/kotlin/space/blokk/testplugin/TestPlugin.kt b/test-plugin/src/main/kotlin/space/uranos/testplugin/TestPlugin.kt
similarity index 91%
rename from test-plugin/src/main/kotlin/space/blokk/testplugin/TestPlugin.kt
rename to test-plugin/src/main/kotlin/space/uranos/testplugin/TestPlugin.kt
index 8f9c6fb..cecec8f 100644
--- a/test-plugin/src/main/kotlin/space/blokk/testplugin/TestPlugin.kt
+++ b/test-plugin/src/main/kotlin/space/uranos/testplugin/TestPlugin.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.testplugin
import space.uranos.Uranos
diff --git a/test-plugin/src/main/kotlin/space/blokk/testplugin/anvil/AnvilChunk.kt b/test-plugin/src/main/kotlin/space/uranos/testplugin/anvil/AnvilChunk.kt
similarity index 88%
rename from test-plugin/src/main/kotlin/space/blokk/testplugin/anvil/AnvilChunk.kt
rename to test-plugin/src/main/kotlin/space/uranos/testplugin/anvil/AnvilChunk.kt
index 8206de4..d463e5a 100644
--- a/test-plugin/src/main/kotlin/space/blokk/testplugin/anvil/AnvilChunk.kt
+++ b/test-plugin/src/main/kotlin/space/uranos/testplugin/anvil/AnvilChunk.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.testplugin.anvil
import com.google.common.cache.LoadingCache
@@ -5,7 +10,6 @@ import space.uranos.player.Player
import space.uranos.util.createWeakValuesLoadingCache
import space.uranos.world.*
import space.uranos.world.block.Air
-import space.uranos.world.block.Block
class AnvilChunk(world: AnvilWorld, key: Key) : Chunk(world, key) {
// TODO: Implement light
diff --git a/test-plugin/src/main/kotlin/space/blokk/testplugin/anvil/AnvilChunkSection.kt b/test-plugin/src/main/kotlin/space/uranos/testplugin/anvil/AnvilChunkSection.kt
similarity index 72%
rename from test-plugin/src/main/kotlin/space/blokk/testplugin/anvil/AnvilChunkSection.kt
rename to test-plugin/src/main/kotlin/space/uranos/testplugin/anvil/AnvilChunkSection.kt
index 6c85f4f..7a13546 100644
--- a/test-plugin/src/main/kotlin/space/blokk/testplugin/anvil/AnvilChunkSection.kt
+++ b/test-plugin/src/main/kotlin/space/uranos/testplugin/anvil/AnvilChunkSection.kt
@@ -1,7 +1,11 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.testplugin.anvil
import space.uranos.world.Chunk
-import space.uranos.world.VoxelLocation
import space.uranos.world.block.Air
import space.uranos.world.block.Block
diff --git a/test-plugin/src/main/kotlin/space/blokk/testplugin/anvil/AnvilVoxel.kt b/test-plugin/src/main/kotlin/space/uranos/testplugin/anvil/AnvilVoxel.kt
similarity index 84%
rename from test-plugin/src/main/kotlin/space/blokk/testplugin/anvil/AnvilVoxel.kt
rename to test-plugin/src/main/kotlin/space/uranos/testplugin/anvil/AnvilVoxel.kt
index 3c28700..cf63934 100644
--- a/test-plugin/src/main/kotlin/space/blokk/testplugin/anvil/AnvilVoxel.kt
+++ b/test-plugin/src/main/kotlin/space/uranos/testplugin/anvil/AnvilVoxel.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.testplugin.anvil
import space.uranos.world.Chunk
diff --git a/test-plugin/src/main/kotlin/space/blokk/testplugin/anvil/AnvilWorld.kt b/test-plugin/src/main/kotlin/space/uranos/testplugin/anvil/AnvilWorld.kt
similarity index 86%
rename from test-plugin/src/main/kotlin/space/blokk/testplugin/anvil/AnvilWorld.kt
rename to test-plugin/src/main/kotlin/space/uranos/testplugin/anvil/AnvilWorld.kt
index a9de125..7a7c89f 100644
--- a/test-plugin/src/main/kotlin/space/blokk/testplugin/anvil/AnvilWorld.kt
+++ b/test-plugin/src/main/kotlin/space/uranos/testplugin/anvil/AnvilWorld.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.testplugin.anvil
import com.google.common.cache.CacheBuilder
diff --git a/uranos-api/src/main/kotlin/space/uranos/CardinalDirection.kt b/uranos-api/src/main/kotlin/space/uranos/CardinalDirection.kt
index 6221950..8fd3dcb 100644
--- a/uranos-api/src/main/kotlin/space/uranos/CardinalDirection.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/CardinalDirection.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos
enum class CardinalDirection(private val direction: Direction) {
diff --git a/uranos-api/src/main/kotlin/space/uranos/CoordinatePart.kt b/uranos-api/src/main/kotlin/space/uranos/CoordinatePart.kt
index 300eb3c..983446b 100644
--- a/uranos-api/src/main/kotlin/space/uranos/CoordinatePart.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/CoordinatePart.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos
enum class CoordinatePart {
diff --git a/uranos-api/src/main/kotlin/space/uranos/Difficulty.kt b/uranos-api/src/main/kotlin/space/uranos/Difficulty.kt
index 198efaf..1f9c518 100644
--- a/uranos-api/src/main/kotlin/space/uranos/Difficulty.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/Difficulty.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos
enum class Difficulty {
diff --git a/uranos-api/src/main/kotlin/space/uranos/Direction.kt b/uranos-api/src/main/kotlin/space/uranos/Direction.kt
index 26e6b74..35399f9 100644
--- a/uranos-api/src/main/kotlin/space/uranos/Direction.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/Direction.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos
enum class Direction {
diff --git a/uranos-api/src/main/kotlin/space/uranos/NamespacedID.kt b/uranos-api/src/main/kotlin/space/uranos/NamespacedID.kt
index 040d9cf..5cbbe18 100644
--- a/uranos-api/src/main/kotlin/space/uranos/NamespacedID.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/NamespacedID.kt
@@ -1,6 +1,9 @@
-package space.uranos
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
-import space.uranos.world.Dimension
+package space.uranos
object NamespacedID {
val ID_REGEX = Regex("[0-9a-z._/-]")
diff --git a/uranos-api/src/main/kotlin/space/uranos/Registry.kt b/uranos-api/src/main/kotlin/space/uranos/Registry.kt
index 797c468..7adcac4 100644
--- a/uranos-api/src/main/kotlin/space/uranos/Registry.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/Registry.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos
import java.util.concurrent.ConcurrentHashMap
diff --git a/uranos-api/src/main/kotlin/space/uranos/Scheduler.kt b/uranos-api/src/main/kotlin/space/uranos/Scheduler.kt
index e7d1677..2435878 100644
--- a/uranos-api/src/main/kotlin/space/uranos/Scheduler.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/Scheduler.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos
import kotlinx.coroutines.NonCancellable
diff --git a/uranos-api/src/main/kotlin/space/uranos/Uranos.kt b/uranos-api/src/main/kotlin/space/uranos/Uranos.kt
index 7f40294..d61f9d1 100644
--- a/uranos-api/src/main/kotlin/space/uranos/Uranos.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/Uranos.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos
import space.uranos.server.Server
diff --git a/uranos-api/src/main/kotlin/space/uranos/Vector.kt b/uranos-api/src/main/kotlin/space/uranos/Vector.kt
index b8f4980..496bc6f 100644
--- a/uranos-api/src/main/kotlin/space/uranos/Vector.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/Vector.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos
import space.uranos.util.clamp
diff --git a/uranos-api/src/main/kotlin/space/uranos/chat/ChatColor.kt b/uranos-api/src/main/kotlin/space/uranos/chat/ChatColor.kt
index 95ec896..e2d177c 100644
--- a/uranos-api/src/main/kotlin/space/uranos/chat/ChatColor.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/chat/ChatColor.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.chat
import com.squareup.moshi.FromJson
diff --git a/uranos-api/src/main/kotlin/space/uranos/chat/ChatComponent.kt b/uranos-api/src/main/kotlin/space/uranos/chat/ChatComponent.kt
index b2062cb..f6b24b9 100644
--- a/uranos-api/src/main/kotlin/space/uranos/chat/ChatComponent.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/chat/ChatComponent.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.chat
import com.squareup.moshi.*
diff --git a/uranos-api/src/main/kotlin/space/uranos/chat/LegacyFormattingCode.kt b/uranos-api/src/main/kotlin/space/uranos/chat/LegacyFormattingCode.kt
index 644dcfe..188d2aa 100644
--- a/uranos-api/src/main/kotlin/space/uranos/chat/LegacyFormattingCode.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/chat/LegacyFormattingCode.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.chat
/**
diff --git a/uranos-api/src/main/kotlin/space/uranos/command/Command.kt b/uranos-api/src/main/kotlin/space/uranos/command/Command.kt
index 19d2ba7..a833435 100644
--- a/uranos-api/src/main/kotlin/space/uranos/command/Command.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/command/Command.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.command
import space.uranos.RegistryItem
diff --git a/uranos-api/src/main/kotlin/space/uranos/entity/Entity.kt b/uranos-api/src/main/kotlin/space/uranos/entity/Entity.kt
index 13e00fb..3f747d6 100644
--- a/uranos-api/src/main/kotlin/space/uranos/entity/Entity.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/entity/Entity.kt
@@ -1,8 +1,10 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.entity
-import space.uranos.event.Event
-import space.uranos.event.EventBus
-import space.uranos.logging.Logger
import java.util.*
import kotlin.reflect.KClass
diff --git a/uranos-api/src/main/kotlin/space/uranos/entity/EntityType.kt b/uranos-api/src/main/kotlin/space/uranos/entity/EntityType.kt
index 5f471a4..4cfdea4 100644
--- a/uranos-api/src/main/kotlin/space/uranos/entity/EntityType.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/entity/EntityType.kt
@@ -1,7 +1,10 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.entity
-import space.uranos.world.block.Block
-import space.uranos.world.block.Material
import kotlin.reflect.KClass
interface EntityType {
diff --git a/uranos-api/src/main/kotlin/space/uranos/event/Cancellable.kt b/uranos-api/src/main/kotlin/space/uranos/event/Cancellable.kt
index 9ec44e0..b4ff5c8 100644
--- a/uranos-api/src/main/kotlin/space/uranos/event/Cancellable.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/event/Cancellable.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.event
import kotlin.contracts.InvocationKind
diff --git a/uranos-api/src/main/kotlin/space/uranos/event/Event.kt b/uranos-api/src/main/kotlin/space/uranos/event/Event.kt
index 4d3074e..2f16437 100644
--- a/uranos-api/src/main/kotlin/space/uranos/event/Event.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/event/Event.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.event
abstract class Event
diff --git a/uranos-api/src/main/kotlin/space/uranos/event/EventBus.kt b/uranos-api/src/main/kotlin/space/uranos/event/EventBus.kt
index b2040f6..913917f 100644
--- a/uranos-api/src/main/kotlin/space/uranos/event/EventBus.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/event/EventBus.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.event
import kotlinx.coroutines.suspendCancellableCoroutine
diff --git a/uranos-api/src/main/kotlin/space/uranos/event/EventBusWrapper.kt b/uranos-api/src/main/kotlin/space/uranos/event/EventBusWrapper.kt
index bf8ba01..52827d5 100644
--- a/uranos-api/src/main/kotlin/space/uranos/event/EventBusWrapper.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/event/EventBusWrapper.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.event
import space.uranos.Uranos
diff --git a/uranos-api/src/main/kotlin/space/uranos/event/EventHandler.kt b/uranos-api/src/main/kotlin/space/uranos/event/EventHandler.kt
index a78ffa6..d0ebc31 100644
--- a/uranos-api/src/main/kotlin/space/uranos/event/EventHandler.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/event/EventHandler.kt
@@ -1,7 +1,11 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.event
import space.uranos.plugin.Plugin
-import java.util.*
import kotlin.reflect.KClass
data class EventHandler internal constructor(
diff --git a/uranos-api/src/main/kotlin/space/uranos/event/EventHandlerPosition.kt b/uranos-api/src/main/kotlin/space/uranos/event/EventHandlerPosition.kt
index 9901076..5426d5b 100644
--- a/uranos-api/src/main/kotlin/space/uranos/event/EventHandlerPosition.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/event/EventHandlerPosition.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.event
import space.uranos.Uranos
diff --git a/uranos-api/src/main/kotlin/space/uranos/event/EventHandlerPositionManager.kt b/uranos-api/src/main/kotlin/space/uranos/event/EventHandlerPositionManager.kt
index c9797d5..644fbd6 100644
--- a/uranos-api/src/main/kotlin/space/uranos/event/EventHandlerPositionManager.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/event/EventHandlerPositionManager.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.event
interface EventHandlerPositionManager {
diff --git a/uranos-api/src/main/kotlin/space/uranos/logging/Logger.kt b/uranos-api/src/main/kotlin/space/uranos/logging/Logger.kt
index 1436a2e..b792ade 100644
--- a/uranos-api/src/main/kotlin/space/uranos/logging/Logger.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/logging/Logger.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.logging
import space.uranos.Uranos
diff --git a/uranos-api/src/main/kotlin/space/uranos/logging/LoggingOutputProvider.kt b/uranos-api/src/main/kotlin/space/uranos/logging/LoggingOutputProvider.kt
index dd730aa..00fe470 100644
--- a/uranos-api/src/main/kotlin/space/uranos/logging/LoggingOutputProvider.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/logging/LoggingOutputProvider.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.logging
interface LoggingOutputProvider {
diff --git a/uranos-api/src/main/kotlin/space/uranos/net/DisconnectedCancellationException.kt b/uranos-api/src/main/kotlin/space/uranos/net/DisconnectedCancellationException.kt
index 1a83ad3..ae6afff 100644
--- a/uranos-api/src/main/kotlin/space/uranos/net/DisconnectedCancellationException.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/net/DisconnectedCancellationException.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net
import java.util.concurrent.CancellationException
diff --git a/uranos-api/src/main/kotlin/space/uranos/net/PacketDecodingException.kt b/uranos-api/src/main/kotlin/space/uranos/net/PacketDecodingException.kt
index 87c16ce..fe2ad28 100644
--- a/uranos-api/src/main/kotlin/space/uranos/net/PacketDecodingException.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/net/PacketDecodingException.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net
class PacketDecodingException : Exception("Packet decoding failed")
diff --git a/uranos-api/src/main/kotlin/space/uranos/net/ServerListInfo.kt b/uranos-api/src/main/kotlin/space/uranos/net/ServerListInfo.kt
index ba810bd..cc4aacd 100644
--- a/uranos-api/src/main/kotlin/space/uranos/net/ServerListInfo.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/net/ServerListInfo.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net
import com.squareup.moshi.Json
diff --git a/uranos-api/src/main/kotlin/space/uranos/net/Session.kt b/uranos-api/src/main/kotlin/space/uranos/net/Session.kt
index a62d1f4..06a5d24 100644
--- a/uranos-api/src/main/kotlin/space/uranos/net/Session.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/net/Session.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net
import io.netty.buffer.ByteBuf
diff --git a/uranos-api/src/main/kotlin/space/uranos/net/event/ClientBrandReceivedEvent.kt b/uranos-api/src/main/kotlin/space/uranos/net/event/ClientBrandReceivedEvent.kt
index 1998785..56ed65d 100644
--- a/uranos-api/src/main/kotlin/space/uranos/net/event/ClientBrandReceivedEvent.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/net/event/ClientBrandReceivedEvent.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.event
import space.uranos.event.Cancellable
diff --git a/uranos-api/src/main/kotlin/space/uranos/net/event/PacketReceivedEvent.kt b/uranos-api/src/main/kotlin/space/uranos/net/event/PacketReceivedEvent.kt
index b759fc2..33a86d8 100644
--- a/uranos-api/src/main/kotlin/space/uranos/net/event/PacketReceivedEvent.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/net/event/PacketReceivedEvent.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.event
import space.uranos.event.Cancellable
diff --git a/uranos-api/src/main/kotlin/space/uranos/net/event/PacketSendEvent.kt b/uranos-api/src/main/kotlin/space/uranos/net/event/PacketSendEvent.kt
index 2e9363a..67d1373 100644
--- a/uranos-api/src/main/kotlin/space/uranos/net/event/PacketSendEvent.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/net/event/PacketSendEvent.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.event
import space.uranos.event.Cancellable
diff --git a/uranos-api/src/main/kotlin/space/uranos/net/event/PlayerInitializationEvent.kt b/uranos-api/src/main/kotlin/space/uranos/net/event/PlayerInitializationEvent.kt
index ab058fa..87cbdd1 100644
--- a/uranos-api/src/main/kotlin/space/uranos/net/event/PlayerInitializationEvent.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/net/event/PlayerInitializationEvent.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.event
import space.uranos.event.Cancellable
diff --git a/uranos-api/src/main/kotlin/space/uranos/net/event/ServerListInfoRequestEvent.kt b/uranos-api/src/main/kotlin/space/uranos/net/event/ServerListInfoRequestEvent.kt
index cfcf8f2..9fe470f 100644
--- a/uranos-api/src/main/kotlin/space/uranos/net/event/ServerListInfoRequestEvent.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/net/event/ServerListInfoRequestEvent.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.event
import space.uranos.event.Cancellable
diff --git a/uranos-api/src/main/kotlin/space/uranos/net/event/SessionAfterLoginEvent.kt b/uranos-api/src/main/kotlin/space/uranos/net/event/SessionAfterLoginEvent.kt
index b64f85c..52ec16d 100644
--- a/uranos-api/src/main/kotlin/space/uranos/net/event/SessionAfterLoginEvent.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/net/event/SessionAfterLoginEvent.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.event
import space.uranos.event.Cancellable
diff --git a/uranos-api/src/main/kotlin/space/uranos/net/event/SessionEvent.kt b/uranos-api/src/main/kotlin/space/uranos/net/event/SessionEvent.kt
index 7dc6585..272e216 100644
--- a/uranos-api/src/main/kotlin/space/uranos/net/event/SessionEvent.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/net/event/SessionEvent.kt
@@ -1,6 +1,10 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.event
-import space.uranos.event.Event
import space.uranos.event.TargetedEvent
import space.uranos.net.Session
diff --git a/uranos-api/src/main/kotlin/space/uranos/net/packet/Packet.kt b/uranos-api/src/main/kotlin/space/uranos/net/packet/Packet.kt
index 22dae1d..e32bccc 100644
--- a/uranos-api/src/main/kotlin/space/uranos/net/packet/Packet.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/net/packet/Packet.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet
sealed class Packet {
diff --git a/uranos-api/src/main/kotlin/space/uranos/net/packet/PacketCodec.kt b/uranos-api/src/main/kotlin/space/uranos/net/packet/PacketCodec.kt
index cdf02f1..113bf89 100644
--- a/uranos-api/src/main/kotlin/space/uranos/net/packet/PacketCodec.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/net/packet/PacketCodec.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet
import com.google.common.cache.CacheBuilder
diff --git a/uranos-api/src/main/kotlin/space/uranos/net/packet/Protocol.kt b/uranos-api/src/main/kotlin/space/uranos/net/packet/Protocol.kt
index fb1b1ba..a55edc6 100644
--- a/uranos-api/src/main/kotlin/space/uranos/net/packet/Protocol.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/net/packet/Protocol.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet
import kotlin.reflect.KClass
diff --git a/uranos-api/src/main/kotlin/space/uranos/player/ChatMode.kt b/uranos-api/src/main/kotlin/space/uranos/player/ChatMode.kt
index 64d8a6e..ae318ae 100644
--- a/uranos-api/src/main/kotlin/space/uranos/player/ChatMode.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/player/ChatMode.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.player
enum class ChatMode {
diff --git a/uranos-api/src/main/kotlin/space/uranos/player/GameMode.kt b/uranos-api/src/main/kotlin/space/uranos/player/GameMode.kt
index 9c5ca17..ad90e9d 100644
--- a/uranos-api/src/main/kotlin/space/uranos/player/GameMode.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/player/GameMode.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.player
enum class GameMode(val numericID: Int) {
diff --git a/uranos-api/src/main/kotlin/space/uranos/player/Hand.kt b/uranos-api/src/main/kotlin/space/uranos/player/Hand.kt
index 8ed7919..643898f 100644
--- a/uranos-api/src/main/kotlin/space/uranos/player/Hand.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/player/Hand.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.player
enum class Hand {
diff --git a/uranos-api/src/main/kotlin/space/uranos/player/Player.kt b/uranos-api/src/main/kotlin/space/uranos/player/Player.kt
index 8483615..4d64d8c 100644
--- a/uranos-api/src/main/kotlin/space/uranos/player/Player.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/player/Player.kt
@@ -1,9 +1,12 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.player
-import kotlinx.coroutines.CoroutineScope
import space.uranos.chat.TextComponent
import space.uranos.net.Session
-import space.uranos.player.event.PlayerEvent
import space.uranos.world.Chunk
import space.uranos.world.LocationWithRotation
import space.uranos.world.VoxelLocation
diff --git a/uranos-api/src/main/kotlin/space/uranos/player/SkinPartsConfiguration.kt b/uranos-api/src/main/kotlin/space/uranos/player/SkinPartsConfiguration.kt
index c8b7c12..ef22524 100644
--- a/uranos-api/src/main/kotlin/space/uranos/player/SkinPartsConfiguration.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/player/SkinPartsConfiguration.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.player
data class SkinPartsConfiguration(
diff --git a/uranos-api/src/main/kotlin/space/uranos/player/event/PlayerEvent.kt b/uranos-api/src/main/kotlin/space/uranos/player/event/PlayerEvent.kt
index 23e6389..939509c 100644
--- a/uranos-api/src/main/kotlin/space/uranos/player/event/PlayerEvent.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/player/event/PlayerEvent.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.player.event
import space.uranos.event.Event
diff --git a/uranos-api/src/main/kotlin/space/uranos/player/event/PlayerSettingsUpdateEvent.kt b/uranos-api/src/main/kotlin/space/uranos/player/event/PlayerSettingsUpdateEvent.kt
index 6af8178..039e686 100644
--- a/uranos-api/src/main/kotlin/space/uranos/player/event/PlayerSettingsUpdateEvent.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/player/event/PlayerSettingsUpdateEvent.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.player.event
import space.uranos.player.Player
diff --git a/uranos-api/src/main/kotlin/space/uranos/plugin/Plugin.kt b/uranos-api/src/main/kotlin/space/uranos/plugin/Plugin.kt
index 3d22521..0c50d4c 100644
--- a/uranos-api/src/main/kotlin/space/uranos/plugin/Plugin.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/plugin/Plugin.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.plugin
abstract class Plugin(name: String, version: String) {
diff --git a/uranos-api/src/main/kotlin/space/uranos/plugin/PluginManager.kt b/uranos-api/src/main/kotlin/space/uranos/plugin/PluginManager.kt
index 913a455..b30dab7 100644
--- a/uranos-api/src/main/kotlin/space/uranos/plugin/PluginManager.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/plugin/PluginManager.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.plugin
interface PluginManager {
diff --git a/uranos-api/src/main/kotlin/space/uranos/recipe/Recipe.kt b/uranos-api/src/main/kotlin/space/uranos/recipe/Recipe.kt
index f38019f..e3f5416 100644
--- a/uranos-api/src/main/kotlin/space/uranos/recipe/Recipe.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/recipe/Recipe.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.recipe
import space.uranos.RegistryItem
diff --git a/uranos-api/src/main/kotlin/space/uranos/server/Server.kt b/uranos-api/src/main/kotlin/space/uranos/server/Server.kt
index 8c3e9f1..2d156a0 100644
--- a/uranos-api/src/main/kotlin/space/uranos/server/Server.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/server/Server.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.server
import space.uranos.Registry
diff --git a/uranos-api/src/main/kotlin/space/uranos/server/event/ServerEvent.kt b/uranos-api/src/main/kotlin/space/uranos/server/event/ServerEvent.kt
index 59d5745..81a505a 100644
--- a/uranos-api/src/main/kotlin/space/uranos/server/event/ServerEvent.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/server/event/ServerEvent.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.server.event
import space.uranos.event.Event
diff --git a/uranos-api/src/main/kotlin/space/uranos/server/event/SessionInitializedEvent.kt b/uranos-api/src/main/kotlin/space/uranos/server/event/SessionInitializedEvent.kt
index f050c7c..ac2009a 100644
--- a/uranos-api/src/main/kotlin/space/uranos/server/event/SessionInitializedEvent.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/server/event/SessionInitializedEvent.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.server.event
import space.uranos.event.Cancellable
diff --git a/uranos-api/src/main/kotlin/space/uranos/tag/Tag.kt b/uranos-api/src/main/kotlin/space/uranos/tag/Tag.kt
index d8917cc..e3e9e6d 100644
--- a/uranos-api/src/main/kotlin/space/uranos/tag/Tag.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/tag/Tag.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.tag
import space.uranos.entity.EntityType
diff --git a/uranos-api/src/main/kotlin/space/uranos/tag/TagRegistry.kt b/uranos-api/src/main/kotlin/space/uranos/tag/TagRegistry.kt
index 5d0df67..8f018d4 100644
--- a/uranos-api/src/main/kotlin/space/uranos/tag/TagRegistry.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/tag/TagRegistry.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.tag
object TagRegistry {
diff --git a/uranos-api/src/main/kotlin/space/uranos/util/Bits.kt b/uranos-api/src/main/kotlin/space/uranos/util/Bits.kt
index 6239c6a..cecd8c2 100644
--- a/uranos-api/src/main/kotlin/space/uranos/util/Bits.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/util/Bits.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.util
import kotlin.experimental.and
diff --git a/uranos-api/src/main/kotlin/space/uranos/util/Clamp.kt b/uranos-api/src/main/kotlin/space/uranos/util/Clamp.kt
index 97c97bd..cd171fd 100644
--- a/uranos-api/src/main/kotlin/space/uranos/util/Clamp.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/util/Clamp.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.util
fun Int.clamp(range: IntRange) = maxOf(minOf(range.first, range.last), minOf(maxOf(range.first, range.last), this))
diff --git a/uranos-api/src/main/kotlin/space/uranos/util/CoroutineContextSupervisorChild.kt b/uranos-api/src/main/kotlin/space/uranos/util/CoroutineContextSupervisorChild.kt
index d3bb1f7..729f559 100644
--- a/uranos-api/src/main/kotlin/space/uranos/util/CoroutineContextSupervisorChild.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/util/CoroutineContextSupervisorChild.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.util
import kotlinx.coroutines.CoroutineName
diff --git a/uranos-api/src/main/kotlin/space/uranos/util/CreateWeakValuesLoadingCache.kt b/uranos-api/src/main/kotlin/space/uranos/util/CreateWeakValuesLoadingCache.kt
index 307e426..5d9d389 100644
--- a/uranos-api/src/main/kotlin/space/uranos/util/CreateWeakValuesLoadingCache.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/util/CreateWeakValuesLoadingCache.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.util
import com.google.common.cache.CacheBuilder
diff --git a/uranos-api/src/main/kotlin/space/uranos/util/KClassToInstanceMap.kt b/uranos-api/src/main/kotlin/space/uranos/util/KClassToInstanceMap.kt
index 61ec56a..07cb67a 100644
--- a/uranos-api/src/main/kotlin/space/uranos/util/KClassToInstanceMap.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/util/KClassToInstanceMap.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.util
import kotlin.reflect.KClass
diff --git a/uranos-api/src/main/kotlin/space/uranos/util/KPropertyValuePair.kt b/uranos-api/src/main/kotlin/space/uranos/util/KPropertyValuePair.kt
index f25bb42..3e9473c 100644
--- a/uranos-api/src/main/kotlin/space/uranos/util/KPropertyValuePair.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/util/KPropertyValuePair.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.util
import kotlin.reflect.KProperty
diff --git a/uranos-api/src/main/kotlin/space/uranos/util/Moshi.kt b/uranos-api/src/main/kotlin/space/uranos/util/Moshi.kt
index 3089318..da1e992 100644
--- a/uranos-api/src/main/kotlin/space/uranos/util/Moshi.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/util/Moshi.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.util
import com.squareup.moshi.FromJson
diff --git a/uranos-api/src/main/kotlin/space/uranos/util/NewSingleThreadDispatcher.kt b/uranos-api/src/main/kotlin/space/uranos/util/NewSingleThreadDispatcher.kt
index b5dbe75..e70f316 100644
--- a/uranos-api/src/main/kotlin/space/uranos/util/NewSingleThreadDispatcher.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/util/NewSingleThreadDispatcher.kt
@@ -1,9 +1,12 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.util
-import com.google.common.util.concurrent.ThreadFactoryBuilder
import kotlinx.coroutines.asCoroutineDispatcher
import java.util.concurrent.Executors
-import java.util.concurrent.ThreadFactory
fun newSingleThreadDispatcher(name: String) =
Executors.newSingleThreadExecutor { r -> Thread(r, name) }.asCoroutineDispatcher()
diff --git a/uranos-api/src/main/kotlin/space/uranos/util/SimplePluralize.kt b/uranos-api/src/main/kotlin/space/uranos/util/SimplePluralize.kt
index 20f391a..49e706d 100644
--- a/uranos-api/src/main/kotlin/space/uranos/util/SimplePluralize.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/util/SimplePluralize.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.util
/**
diff --git a/uranos-api/src/main/kotlin/space/uranos/util/Ticks.kt b/uranos-api/src/main/kotlin/space/uranos/util/Ticks.kt
index 85a2bad..a689a59 100644
--- a/uranos-api/src/main/kotlin/space/uranos/util/Ticks.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/util/Ticks.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.util
import kotlinx.coroutines.CoroutineScope
diff --git a/uranos-api/src/main/kotlin/space/uranos/util/UUID.kt b/uranos-api/src/main/kotlin/space/uranos/util/UUID.kt
index 4a893e1..fe45d8c 100644
--- a/uranos-api/src/main/kotlin/space/uranos/util/UUID.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/util/UUID.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.util
import java.util.*
diff --git a/uranos-api/src/main/kotlin/space/uranos/util/UntilPossiblyNegative.kt b/uranos-api/src/main/kotlin/space/uranos/util/UntilPossiblyNegative.kt
index b6114fd..a8c571d 100644
--- a/uranos-api/src/main/kotlin/space/uranos/util/UntilPossiblyNegative.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/util/UntilPossiblyNegative.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.util
infix fun Int.untilPossiblyNegative(other: Int) =
diff --git a/uranos-api/src/main/kotlin/space/uranos/world/Biome.kt b/uranos-api/src/main/kotlin/space/uranos/world/Biome.kt
index f775036..fca10c9 100644
--- a/uranos-api/src/main/kotlin/space/uranos/world/Biome.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/world/Biome.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.world
import space.uranos.RegistryItem
diff --git a/uranos-api/src/main/kotlin/space/uranos/world/BiomeRegistry.kt b/uranos-api/src/main/kotlin/space/uranos/world/BiomeRegistry.kt
index b8a3a4a..f2038a0 100644
--- a/uranos-api/src/main/kotlin/space/uranos/world/BiomeRegistry.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/world/BiomeRegistry.kt
@@ -1,7 +1,11 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.world
import space.uranos.Registry
-import java.lang.IllegalArgumentException
import java.util.concurrent.atomic.AtomicInteger
class BiomeRegistry: Registry() {
diff --git a/uranos-api/src/main/kotlin/space/uranos/world/Chunk.kt b/uranos-api/src/main/kotlin/space/uranos/world/Chunk.kt
index f403300..5faa491 100644
--- a/uranos-api/src/main/kotlin/space/uranos/world/Chunk.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/world/Chunk.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.world
import space.uranos.Uranos
diff --git a/uranos-api/src/main/kotlin/space/uranos/world/ChunkData.kt b/uranos-api/src/main/kotlin/space/uranos/world/ChunkData.kt
index 4e1786e..047a0c8 100644
--- a/uranos-api/src/main/kotlin/space/uranos/world/ChunkData.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/world/ChunkData.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.world
import space.uranos.world.block.Block
diff --git a/uranos-api/src/main/kotlin/space/uranos/world/ChunkLightData.kt b/uranos-api/src/main/kotlin/space/uranos/world/ChunkLightData.kt
index b7d9f4f..444cd33 100644
--- a/uranos-api/src/main/kotlin/space/uranos/world/ChunkLightData.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/world/ChunkLightData.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.world
data class ChunkLightData(
diff --git a/uranos-api/src/main/kotlin/space/uranos/world/Dimension.kt b/uranos-api/src/main/kotlin/space/uranos/world/Dimension.kt
index 811d9a7..4d485a1 100644
--- a/uranos-api/src/main/kotlin/space/uranos/world/Dimension.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/world/Dimension.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.world
import space.uranos.RegistryItem
diff --git a/uranos-api/src/main/kotlin/space/uranos/world/Location.kt b/uranos-api/src/main/kotlin/space/uranos/world/Location.kt
index 4a1c77b..6fa133a 100644
--- a/uranos-api/src/main/kotlin/space/uranos/world/Location.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/world/Location.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.world
import space.uranos.CoordinatePart
diff --git a/uranos-api/src/main/kotlin/space/uranos/world/Voxel.kt b/uranos-api/src/main/kotlin/space/uranos/world/Voxel.kt
index f4a4ad5..39ac346 100644
--- a/uranos-api/src/main/kotlin/space/uranos/world/Voxel.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/world/Voxel.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.world
import space.uranos.world.block.Block
diff --git a/uranos-api/src/main/kotlin/space/uranos/world/VoxelLocation.kt b/uranos-api/src/main/kotlin/space/uranos/world/VoxelLocation.kt
index 96f7363..6555d52 100644
--- a/uranos-api/src/main/kotlin/space/uranos/world/VoxelLocation.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/world/VoxelLocation.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.world
import space.uranos.CoordinatePart
diff --git a/uranos-api/src/main/kotlin/space/uranos/world/World.kt b/uranos-api/src/main/kotlin/space/uranos/world/World.kt
index 14b7eeb..92ca27c 100644
--- a/uranos-api/src/main/kotlin/space/uranos/world/World.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/world/World.kt
@@ -1,6 +1,14 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.world
-import kotlinx.coroutines.*
+import kotlinx.coroutines.cancel
+import kotlinx.coroutines.coroutineScope
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.withContext
import space.uranos.Uranos
import space.uranos.entity.Entity
import space.uranos.util.newSingleThreadDispatcher
diff --git a/uranos-api/src/main/kotlin/space/uranos/world/block/Air.kt b/uranos-api/src/main/kotlin/space/uranos/world/block/Air.kt
index 1334043..47cea38 100644
--- a/uranos-api/src/main/kotlin/space/uranos/world/block/Air.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/world/block/Air.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.world.block
diff --git a/uranos-api/src/main/kotlin/space/uranos/world/block/Attribute.kt b/uranos-api/src/main/kotlin/space/uranos/world/block/Attribute.kt
index e5fb874..101a7ae 100644
--- a/uranos-api/src/main/kotlin/space/uranos/world/block/Attribute.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/world/block/Attribute.kt
@@ -1,6 +1,9 @@
-package space.uranos.world.block
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
-import kotlin.annotation.Target
+package space.uranos.world.block
/**
* @suppress
diff --git a/uranos-api/src/main/kotlin/space/uranos/world/block/Block.kt b/uranos-api/src/main/kotlin/space/uranos/world/block/Block.kt
index 0e56c5f..f48fc29 100644
--- a/uranos-api/src/main/kotlin/space/uranos/world/block/Block.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/world/block/Block.kt
@@ -1,5 +1,11 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.world.block
+import space.uranos.world.block.Block.Companion.material
import kotlin.reflect.KClass
/**
diff --git a/uranos-api/src/main/kotlin/space/uranos/world/block/BlockCodec.kt b/uranos-api/src/main/kotlin/space/uranos/world/block/BlockCodec.kt
index 387109b..6ecee6e 100644
--- a/uranos-api/src/main/kotlin/space/uranos/world/block/BlockCodec.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/world/block/BlockCodec.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.world.block
import space.uranos.util.KPropertyValuePair
diff --git a/uranos-api/src/main/kotlin/space/uranos/world/block/Button.kt b/uranos-api/src/main/kotlin/space/uranos/world/block/Button.kt
index 782ef14..187833b 100644
--- a/uranos-api/src/main/kotlin/space/uranos/world/block/Button.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/world/block/Button.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.world.block
interface Button {
diff --git a/uranos-api/src/main/kotlin/space/uranos/world/block/CaveAir.kt b/uranos-api/src/main/kotlin/space/uranos/world/block/CaveAir.kt
index 58f5bfc..0986f28 100644
--- a/uranos-api/src/main/kotlin/space/uranos/world/block/CaveAir.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/world/block/CaveAir.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.world.block
/**
diff --git a/uranos-api/src/main/kotlin/space/uranos/world/block/DaylightDetector.kt b/uranos-api/src/main/kotlin/space/uranos/world/block/DaylightDetector.kt
index 54df752..46c6d83 100644
--- a/uranos-api/src/main/kotlin/space/uranos/world/block/DaylightDetector.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/world/block/DaylightDetector.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.world.block
data class DaylightDetector(
diff --git a/uranos-api/src/main/kotlin/space/uranos/world/block/Material.kt b/uranos-api/src/main/kotlin/space/uranos/world/block/Material.kt
index 2950017..b94134f 100644
--- a/uranos-api/src/main/kotlin/space/uranos/world/block/Material.kt
+++ b/uranos-api/src/main/kotlin/space/uranos/world/block/Material.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.world.block
import kotlin.reflect.KClass
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/MinecraftProtocolDataTypes.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/MinecraftProtocolDataTypes.kt
index ffa5883..a20bad5 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/MinecraftProtocolDataTypes.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/MinecraftProtocolDataTypes.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net
import io.netty.buffer.ByteBuf
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/handshaking/HandshakePacketCodec.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/handshaking/HandshakePacketCodec.kt
index 795cd2e..b8b5269 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/handshaking/HandshakePacketCodec.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/handshaking/HandshakePacketCodec.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.handshaking
import io.netty.buffer.ByteBuf
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/handshaking/HandshakingProtocol.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/handshaking/HandshakingProtocol.kt
index b09cc40..c638c4c 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/handshaking/HandshakingProtocol.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/handshaking/HandshakingProtocol.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.handshaking
import space.uranos.net.packet.Protocol
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/login/DisconnectPacketCodec.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/login/DisconnectPacketCodec.kt
index 883df0d..9a770a1 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/login/DisconnectPacketCodec.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/login/DisconnectPacketCodec.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.login
import io.netty.buffer.ByteBuf
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/login/EncryptionRequestPacketCodec.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/login/EncryptionRequestPacketCodec.kt
index 737d542..1ed203b 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/login/EncryptionRequestPacketCodec.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/login/EncryptionRequestPacketCodec.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.login
import io.netty.buffer.ByteBuf
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/login/EncryptionResponsePacketCodec.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/login/EncryptionResponsePacketCodec.kt
index 8572cab..f997960 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/login/EncryptionResponsePacketCodec.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/login/EncryptionResponsePacketCodec.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.login
import io.netty.buffer.ByteBuf
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/login/LoginPluginRequestPacketCodec.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/login/LoginPluginRequestPacketCodec.kt
index 0285223..6f88030 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/login/LoginPluginRequestPacketCodec.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/login/LoginPluginRequestPacketCodec.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.login
import io.netty.buffer.ByteBuf
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/login/LoginPluginResponsePacketCodec.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/login/LoginPluginResponsePacketCodec.kt
index f12a892..c88c0e3 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/login/LoginPluginResponsePacketCodec.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/login/LoginPluginResponsePacketCodec.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.login
import io.netty.buffer.ByteBuf
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/login/LoginProtocol.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/login/LoginProtocol.kt
index cf3e55f..b974671 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/login/LoginProtocol.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/login/LoginProtocol.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.login
import space.uranos.net.packet.Protocol
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/login/LoginStartPacketCodec.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/login/LoginStartPacketCodec.kt
index 162601e..f210ee8 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/login/LoginStartPacketCodec.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/login/LoginStartPacketCodec.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.login
import io.netty.buffer.ByteBuf
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/login/LoginSuccessPacketCodec.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/login/LoginSuccessPacketCodec.kt
index 6e28c8c..b4f4ab3 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/login/LoginSuccessPacketCodec.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/login/LoginSuccessPacketCodec.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.login
import io.netty.buffer.ByteBuf
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/login/SetCompressionPacketCodec.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/login/SetCompressionPacketCodec.kt
index b9fc765..613c4f2 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/login/SetCompressionPacketCodec.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/login/SetCompressionPacketCodec.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.login
import io.netty.buffer.ByteBuf
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/ChunkDataPacketCodec.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/ChunkDataPacketCodec.kt
index da6e5af..0de5560 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/ChunkDataPacketCodec.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/ChunkDataPacketCodec.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import io.netty.buffer.ByteBuf
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/ChunkLightDataPacketCodec.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/ChunkLightDataPacketCodec.kt
index c13a013..3b99ec4 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/ChunkLightDataPacketCodec.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/ChunkLightDataPacketCodec.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import io.netty.buffer.ByteBuf
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/ClientSettingsPacketCodec.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/ClientSettingsPacketCodec.kt
index 0b40771..b68a810 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/ClientSettingsPacketCodec.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/ClientSettingsPacketCodec.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import io.netty.buffer.ByteBuf
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/DeclareCommandsPacketCodec.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/DeclareCommandsPacketCodec.kt
index 1c3a805..e03e362 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/DeclareCommandsPacketCodec.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/DeclareCommandsPacketCodec.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import io.netty.buffer.ByteBuf
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/DeclareRecipesPacketCodec.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/DeclareRecipesPacketCodec.kt
index 167d8a5..a6d5dcc 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/DeclareRecipesPacketCodec.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/DeclareRecipesPacketCodec.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import io.netty.buffer.ByteBuf
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/DisconnectPacketCodec.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/DisconnectPacketCodec.kt
index 0c844a5..d64fcf8 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/DisconnectPacketCodec.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/DisconnectPacketCodec.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import io.netty.buffer.ByteBuf
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/IncomingKeepAlivePacketCodec.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/IncomingKeepAlivePacketCodec.kt
index 0f45ed1..ee8df06 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/IncomingKeepAlivePacketCodec.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/IncomingKeepAlivePacketCodec.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import io.netty.buffer.ByteBuf
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/IncomingPluginMessagePacketCodec.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/IncomingPluginMessagePacketCodec.kt
index e813445..7b71107 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/IncomingPluginMessagePacketCodec.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/IncomingPluginMessagePacketCodec.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import io.netty.buffer.ByteBuf
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/JoinGamePacketCodec.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/JoinGamePacketCodec.kt
index a23cdb0..7c8b011 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/JoinGamePacketCodec.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/JoinGamePacketCodec.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import io.netty.buffer.ByteBuf
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/OutgoingKeepAlivePacketCodec.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/OutgoingKeepAlivePacketCodec.kt
index 452c0e8..ae00db4 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/OutgoingKeepAlivePacketCodec.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/OutgoingKeepAlivePacketCodec.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import io.netty.buffer.ByteBuf
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/OutgoingPluginMessagePacketCodec.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/OutgoingPluginMessagePacketCodec.kt
index daa992e..b730c29 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/OutgoingPluginMessagePacketCodec.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/OutgoingPluginMessagePacketCodec.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import io.netty.buffer.ByteBuf
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/PlayProtocol.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/PlayProtocol.kt
index 4f0fa10..63f6204 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/PlayProtocol.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/PlayProtocol.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import space.uranos.net.packet.Protocol
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/PlayerAbilitiesPacketCodec.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/PlayerAbilitiesPacketCodec.kt
index 180dbed..ba0af6c 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/PlayerAbilitiesPacketCodec.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/PlayerAbilitiesPacketCodec.kt
@@ -1,9 +1,13 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import io.netty.buffer.ByteBuf
import space.uranos.net.packet.OutgoingPacketCodec
import space.uranos.util.bitmask
-import space.uranos.util.setBit
object PlayerAbilitiesPacketCodec : OutgoingPacketCodec(0x30, PlayerAbilitiesPacket::class) {
override fun PlayerAbilitiesPacket.encode(dst: ByteBuf) {
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/PlayerInfoPacketCodec.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/PlayerInfoPacketCodec.kt
index f91a35d..8bd04e1 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/PlayerInfoPacketCodec.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/PlayerInfoPacketCodec.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import io.netty.buffer.ByteBuf
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/PlayerPositionAndLookPacketCodec.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/PlayerPositionAndLookPacketCodec.kt
index f4f21e1..cc90cd1 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/PlayerPositionAndLookPacketCodec.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/PlayerPositionAndLookPacketCodec.kt
@@ -1,10 +1,14 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import io.netty.buffer.ByteBuf
import space.uranos.net.MinecraftProtocolDataTypes.writeVarInt
import space.uranos.net.packet.OutgoingPacketCodec
import space.uranos.util.bitmask
-import space.uranos.util.setBit
object PlayerPositionAndLookPacketCodec :
OutgoingPacketCodec(0x34, PlayerPositionAndLookPacket::class) {
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/ServerDifficultyPacketCodec.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/ServerDifficultyPacketCodec.kt
index e3e9529..39d214a 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/ServerDifficultyPacketCodec.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/ServerDifficultyPacketCodec.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import io.netty.buffer.ByteBuf
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/SetCompassTargetPacketCodec.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/SetCompassTargetPacketCodec.kt
index 6830828..2b93680 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/SetCompassTargetPacketCodec.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/SetCompassTargetPacketCodec.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import io.netty.buffer.ByteBuf
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/SetSelectedHotbarSlotPacketCodec.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/SetSelectedHotbarSlotPacketCodec.kt
index 14df103..d41b92e 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/SetSelectedHotbarSlotPacketCodec.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/SetSelectedHotbarSlotPacketCodec.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import io.netty.buffer.ByteBuf
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/TagsPacketCodec.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/TagsPacketCodec.kt
index 4e140af..5a3305d 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/TagsPacketCodec.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/TagsPacketCodec.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import io.netty.buffer.ByteBuf
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/UpdateViewPositionPacketCodec.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/UpdateViewPositionPacketCodec.kt
index 10d4fad..e580255 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/UpdateViewPositionPacketCodec.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/play/UpdateViewPositionPacketCodec.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import io.netty.buffer.ByteBuf
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/status/PingPacketCodec.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/status/PingPacketCodec.kt
index b9f58c0..e53801e 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/status/PingPacketCodec.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/status/PingPacketCodec.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.status
import io.netty.buffer.ByteBuf
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/status/PongPacketCodec.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/status/PongPacketCodec.kt
index 55b3534..76bb5c7 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/status/PongPacketCodec.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/status/PongPacketCodec.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.status
import io.netty.buffer.ByteBuf
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/status/RequestPacketCodec.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/status/RequestPacketCodec.kt
index 19b51be..61d3d5d 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/status/RequestPacketCodec.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/status/RequestPacketCodec.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.status
import io.netty.buffer.ByteBuf
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/status/ResponsePacketCodec.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/status/ResponsePacketCodec.kt
index 0a5620d..82014ac 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/status/ResponsePacketCodec.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/status/ResponsePacketCodec.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.status
import io.netty.buffer.ByteBuf
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/status/StatusProtocol.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/status/StatusProtocol.kt
index 035b482..b3612e4 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/status/StatusProtocol.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/net/packet/status/StatusProtocol.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.status
import space.uranos.net.packet.Protocol
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/util/CompactedBitArray.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/util/CompactedBitArray.kt
index 7202251..f7d0ee6 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/util/CompactedBitArray.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/util/CompactedBitArray.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
@file:Suppress("DuplicatedCode")
package space.uranos.util
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/util/GenerateHeightmap.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/util/GenerateHeightmap.kt
index 01e7b92..56350ad 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/util/GenerateHeightmap.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/util/GenerateHeightmap.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.util
import space.uranos.world.Chunk
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/util/Hashing.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/util/Hashing.kt
index c7684bc..e5efbd0 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/util/Hashing.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/util/Hashing.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.util
import java.security.MessageDigest
diff --git a/uranos-packet-codecs/src/main/kotlin/space/uranos/util/LongToByteArrayConversion.kt b/uranos-packet-codecs/src/main/kotlin/space/uranos/util/LongToByteArrayConversion.kt
index 63704cf..1e69d73 100644
--- a/uranos-packet-codecs/src/main/kotlin/space/uranos/util/LongToByteArrayConversion.kt
+++ b/uranos-packet-codecs/src/main/kotlin/space/uranos/util/LongToByteArrayConversion.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.util
import java.nio.ByteBuffer
diff --git a/uranos-packet-codecs/src/test/kotlin/space/blokk/net/packet/ProtocolValidationTest.kt b/uranos-packet-codecs/src/test/kotlin/space/blokk/net/packet/ProtocolValidationTest.kt
index 7607c89..1f9453d 100644
--- a/uranos-packet-codecs/src/test/kotlin/space/blokk/net/packet/ProtocolValidationTest.kt
+++ b/uranos-packet-codecs/src/test/kotlin/space/blokk/net/packet/ProtocolValidationTest.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet
import org.junit.jupiter.api.Test
diff --git a/uranos-packets/src/main/kotlin/space/uranos/net/packet/handshaking/HandshakePacket.kt b/uranos-packets/src/main/kotlin/space/uranos/net/packet/handshaking/HandshakePacket.kt
index 6325173..5ec4d5c 100644
--- a/uranos-packets/src/main/kotlin/space/uranos/net/packet/handshaking/HandshakePacket.kt
+++ b/uranos-packets/src/main/kotlin/space/uranos/net/packet/handshaking/HandshakePacket.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.handshaking
import space.uranos.net.packet.IncomingPacket
diff --git a/uranos-packets/src/main/kotlin/space/uranos/net/packet/login/DisconnectPacket.kt b/uranos-packets/src/main/kotlin/space/uranos/net/packet/login/DisconnectPacket.kt
index 6659a3c..417443e 100644
--- a/uranos-packets/src/main/kotlin/space/uranos/net/packet/login/DisconnectPacket.kt
+++ b/uranos-packets/src/main/kotlin/space/uranos/net/packet/login/DisconnectPacket.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.login
import space.uranos.chat.ChatComponent
diff --git a/uranos-packets/src/main/kotlin/space/uranos/net/packet/login/EncryptionRequestPacket.kt b/uranos-packets/src/main/kotlin/space/uranos/net/packet/login/EncryptionRequestPacket.kt
index 9272e2f..80783f4 100644
--- a/uranos-packets/src/main/kotlin/space/uranos/net/packet/login/EncryptionRequestPacket.kt
+++ b/uranos-packets/src/main/kotlin/space/uranos/net/packet/login/EncryptionRequestPacket.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.login
import space.uranos.net.packet.OutgoingPacket
diff --git a/uranos-packets/src/main/kotlin/space/uranos/net/packet/login/EncryptionResponsePacket.kt b/uranos-packets/src/main/kotlin/space/uranos/net/packet/login/EncryptionResponsePacket.kt
index 5a07af1..ffa87df 100644
--- a/uranos-packets/src/main/kotlin/space/uranos/net/packet/login/EncryptionResponsePacket.kt
+++ b/uranos-packets/src/main/kotlin/space/uranos/net/packet/login/EncryptionResponsePacket.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.login
import space.uranos.net.packet.IncomingPacket
diff --git a/uranos-packets/src/main/kotlin/space/uranos/net/packet/login/LoginPluginRequestPacket.kt b/uranos-packets/src/main/kotlin/space/uranos/net/packet/login/LoginPluginRequestPacket.kt
index 741b052..9e82ee3 100644
--- a/uranos-packets/src/main/kotlin/space/uranos/net/packet/login/LoginPluginRequestPacket.kt
+++ b/uranos-packets/src/main/kotlin/space/uranos/net/packet/login/LoginPluginRequestPacket.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.login
import space.uranos.net.packet.OutgoingPacket
diff --git a/uranos-packets/src/main/kotlin/space/uranos/net/packet/login/LoginPluginResponsePacket.kt b/uranos-packets/src/main/kotlin/space/uranos/net/packet/login/LoginPluginResponsePacket.kt
index 86efb9a..594a755 100644
--- a/uranos-packets/src/main/kotlin/space/uranos/net/packet/login/LoginPluginResponsePacket.kt
+++ b/uranos-packets/src/main/kotlin/space/uranos/net/packet/login/LoginPluginResponsePacket.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.login
import space.uranos.net.packet.IncomingPacket
diff --git a/uranos-packets/src/main/kotlin/space/uranos/net/packet/login/LoginStartPacket.kt b/uranos-packets/src/main/kotlin/space/uranos/net/packet/login/LoginStartPacket.kt
index ed98fcf..9cc6471 100644
--- a/uranos-packets/src/main/kotlin/space/uranos/net/packet/login/LoginStartPacket.kt
+++ b/uranos-packets/src/main/kotlin/space/uranos/net/packet/login/LoginStartPacket.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.login
import space.uranos.net.packet.IncomingPacket
diff --git a/uranos-packets/src/main/kotlin/space/uranos/net/packet/login/LoginSuccessPacket.kt b/uranos-packets/src/main/kotlin/space/uranos/net/packet/login/LoginSuccessPacket.kt
index c3c9b97..d74bab2 100644
--- a/uranos-packets/src/main/kotlin/space/uranos/net/packet/login/LoginSuccessPacket.kt
+++ b/uranos-packets/src/main/kotlin/space/uranos/net/packet/login/LoginSuccessPacket.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.login
import space.uranos.net.packet.OutgoingPacket
diff --git a/uranos-packets/src/main/kotlin/space/uranos/net/packet/login/SetCompressionPacket.kt b/uranos-packets/src/main/kotlin/space/uranos/net/packet/login/SetCompressionPacket.kt
index 481ee8c..f04a3ff 100644
--- a/uranos-packets/src/main/kotlin/space/uranos/net/packet/login/SetCompressionPacket.kt
+++ b/uranos-packets/src/main/kotlin/space/uranos/net/packet/login/SetCompressionPacket.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.login
import space.uranos.net.packet.OutgoingPacket
diff --git a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/ChunkDataPacket.kt b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/ChunkDataPacket.kt
index 3822c37..b2df1b5 100644
--- a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/ChunkDataPacket.kt
+++ b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/ChunkDataPacket.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import space.uranos.net.packet.OutgoingPacket
diff --git a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/ChunkLightDataPacket.kt b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/ChunkLightDataPacket.kt
index a0f7cf5..c1364f6 100644
--- a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/ChunkLightDataPacket.kt
+++ b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/ChunkLightDataPacket.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import space.uranos.net.packet.OutgoingPacket
diff --git a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/ClientSettingsPacket.kt b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/ClientSettingsPacket.kt
index 225bf7a..bbe8336 100644
--- a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/ClientSettingsPacket.kt
+++ b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/ClientSettingsPacket.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import space.uranos.net.packet.IncomingPacket
diff --git a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/DeclareCommandsPacket.kt b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/DeclareCommandsPacket.kt
index f8560e3..621a3f5 100644
--- a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/DeclareCommandsPacket.kt
+++ b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/DeclareCommandsPacket.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import space.uranos.command.Command
diff --git a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/DeclareRecipesPacket.kt b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/DeclareRecipesPacket.kt
index 6559f11..a6a81da 100644
--- a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/DeclareRecipesPacket.kt
+++ b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/DeclareRecipesPacket.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import space.uranos.net.packet.OutgoingPacket
diff --git a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/DisconnectPacket.kt b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/DisconnectPacket.kt
index a9abb95..68ae4df 100644
--- a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/DisconnectPacket.kt
+++ b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/DisconnectPacket.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import space.uranos.net.packet.OutgoingPacket
diff --git a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/IncomingKeepAlivePacket.kt b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/IncomingKeepAlivePacket.kt
index d726af3..5bf7869 100644
--- a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/IncomingKeepAlivePacket.kt
+++ b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/IncomingKeepAlivePacket.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import space.uranos.net.packet.IncomingPacket
diff --git a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/IncomingPluginMessagePacket.kt b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/IncomingPluginMessagePacket.kt
index c2948d1..142dc62 100644
--- a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/IncomingPluginMessagePacket.kt
+++ b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/IncomingPluginMessagePacket.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import space.uranos.net.packet.IncomingPacket
diff --git a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/JoinGamePacket.kt b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/JoinGamePacket.kt
index 9779702..d8ac393 100644
--- a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/JoinGamePacket.kt
+++ b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/JoinGamePacket.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import space.uranos.net.packet.OutgoingPacket
diff --git a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/OutgoingKeepAlivePacket.kt b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/OutgoingKeepAlivePacket.kt
index c3972f0..dd5a0da 100644
--- a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/OutgoingKeepAlivePacket.kt
+++ b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/OutgoingKeepAlivePacket.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import space.uranos.net.packet.OutgoingPacket
diff --git a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/OutgoingPluginMessagePacket.kt b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/OutgoingPluginMessagePacket.kt
index c3fe68b..1cda199 100644
--- a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/OutgoingPluginMessagePacket.kt
+++ b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/OutgoingPluginMessagePacket.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import io.netty.buffer.ByteBuf
diff --git a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/PlayerAbilitiesPacket.kt b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/PlayerAbilitiesPacket.kt
index 292593f..132e594 100644
--- a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/PlayerAbilitiesPacket.kt
+++ b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/PlayerAbilitiesPacket.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import space.uranos.net.packet.OutgoingPacket
diff --git a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/PlayerInfoPacket.kt b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/PlayerInfoPacket.kt
index 08316d5..8623619 100644
--- a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/PlayerInfoPacket.kt
+++ b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/PlayerInfoPacket.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import space.uranos.chat.TextComponent
diff --git a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/PlayerPositionAndLookPacket.kt b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/PlayerPositionAndLookPacket.kt
index d4c2801..ab9f012 100644
--- a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/PlayerPositionAndLookPacket.kt
+++ b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/PlayerPositionAndLookPacket.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import space.uranos.net.packet.OutgoingPacket
diff --git a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/ServerDifficultyPacket.kt b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/ServerDifficultyPacket.kt
index aeb872d..5ec6b2d 100644
--- a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/ServerDifficultyPacket.kt
+++ b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/ServerDifficultyPacket.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import space.uranos.DifficultySettings
diff --git a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/SetCompassTargetPacket.kt b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/SetCompassTargetPacket.kt
index b83cb77..84cb76e 100644
--- a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/SetCompassTargetPacket.kt
+++ b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/SetCompassTargetPacket.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import space.uranos.net.packet.OutgoingPacket
diff --git a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/SetSelectedHotbarSlotPacket.kt b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/SetSelectedHotbarSlotPacket.kt
index a2ee461..cea7898 100644
--- a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/SetSelectedHotbarSlotPacket.kt
+++ b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/SetSelectedHotbarSlotPacket.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import space.uranos.net.packet.OutgoingPacket
diff --git a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/TagsPacket.kt b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/TagsPacket.kt
index 5981f04..05e779a 100644
--- a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/TagsPacket.kt
+++ b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/TagsPacket.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import space.uranos.net.packet.OutgoingPacket
diff --git a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/UpdateViewPositionPacket.kt b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/UpdateViewPositionPacket.kt
index e9e28c2..a23a0f4 100644
--- a/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/UpdateViewPositionPacket.kt
+++ b/uranos-packets/src/main/kotlin/space/uranos/net/packet/play/UpdateViewPositionPacket.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import space.uranos.net.packet.OutgoingPacket
diff --git a/uranos-packets/src/main/kotlin/space/uranos/net/packet/status/PingPacket.kt b/uranos-packets/src/main/kotlin/space/uranos/net/packet/status/PingPacket.kt
index 7974c83..775362a 100644
--- a/uranos-packets/src/main/kotlin/space/uranos/net/packet/status/PingPacket.kt
+++ b/uranos-packets/src/main/kotlin/space/uranos/net/packet/status/PingPacket.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.status
import space.uranos.net.packet.IncomingPacket
diff --git a/uranos-packets/src/main/kotlin/space/uranos/net/packet/status/PongPacket.kt b/uranos-packets/src/main/kotlin/space/uranos/net/packet/status/PongPacket.kt
index 08f2093..b5d6350 100644
--- a/uranos-packets/src/main/kotlin/space/uranos/net/packet/status/PongPacket.kt
+++ b/uranos-packets/src/main/kotlin/space/uranos/net/packet/status/PongPacket.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.status
import space.uranos.net.packet.OutgoingPacket
diff --git a/uranos-packets/src/main/kotlin/space/uranos/net/packet/status/RequestPacket.kt b/uranos-packets/src/main/kotlin/space/uranos/net/packet/status/RequestPacket.kt
index 4fb6ea5..198caf8 100644
--- a/uranos-packets/src/main/kotlin/space/uranos/net/packet/status/RequestPacket.kt
+++ b/uranos-packets/src/main/kotlin/space/uranos/net/packet/status/RequestPacket.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.status
import space.uranos.net.packet.IncomingPacket
diff --git a/uranos-packets/src/main/kotlin/space/uranos/net/packet/status/ResponsePacket.kt b/uranos-packets/src/main/kotlin/space/uranos/net/packet/status/ResponsePacket.kt
index 53e7f5d..d0693db 100644
--- a/uranos-packets/src/main/kotlin/space/uranos/net/packet/status/ResponsePacket.kt
+++ b/uranos-packets/src/main/kotlin/space/uranos/net/packet/status/ResponsePacket.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.status
import space.uranos.chat.LegacyFormattingCode
diff --git a/uranos-server/src/main/kotlin/space/uranos/UranosScheduler.kt b/uranos-server/src/main/kotlin/space/uranos/UranosScheduler.kt
index ea8d666..3cc32b9 100644
--- a/uranos-server/src/main/kotlin/space/uranos/UranosScheduler.kt
+++ b/uranos-server/src/main/kotlin/space/uranos/UranosScheduler.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos
import kotlinx.coroutines.CancellableContinuation
diff --git a/uranos-server/src/main/kotlin/space/uranos/UranosServer.kt b/uranos-server/src/main/kotlin/space/uranos/UranosServer.kt
index d5f3b68..b44fb35 100644
--- a/uranos-server/src/main/kotlin/space/uranos/UranosServer.kt
+++ b/uranos-server/src/main/kotlin/space/uranos/UranosServer.kt
@@ -1,15 +1,23 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos
import com.sksamuel.hoplite.ConfigFilePropertySource
import com.sksamuel.hoplite.ConfigLoader
import com.sksamuel.hoplite.ConfigSource
-import kotlinx.coroutines.*
+import kotlinx.coroutines.CoroutineName
+import kotlinx.coroutines.SupervisorJob
+import kotlinx.coroutines.asCoroutineDispatcher
+import kotlinx.coroutines.runBlocking
import space.uranos.command.Command
import space.uranos.config.UranosConfig
import space.uranos.event.UranosEventBus
import space.uranos.event.UranosEventHandlerPositionManager
-import space.uranos.logging.UranosLoggingOutputProvider
import space.uranos.logging.Logger
+import space.uranos.logging.UranosLoggingOutputProvider
import space.uranos.net.UranosSocketServer
import space.uranos.plugin.UranosPluginManager
import space.uranos.recipe.Recipe
diff --git a/uranos-server/src/main/kotlin/space/uranos/config/UranosConfig.kt b/uranos-server/src/main/kotlin/space/uranos/config/UranosConfig.kt
index 4eeefdc..376d32c 100644
--- a/uranos-server/src/main/kotlin/space/uranos/config/UranosConfig.kt
+++ b/uranos-server/src/main/kotlin/space/uranos/config/UranosConfig.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.config
import space.uranos.logging.Logger
diff --git a/uranos-server/src/main/kotlin/space/uranos/event/UranosEventBus.kt b/uranos-server/src/main/kotlin/space/uranos/event/UranosEventBus.kt
index 24b0d67..23add3d 100644
--- a/uranos-server/src/main/kotlin/space/uranos/event/UranosEventBus.kt
+++ b/uranos-server/src/main/kotlin/space/uranos/event/UranosEventBus.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.event
import space.uranos.logging.Logger
diff --git a/uranos-server/src/main/kotlin/space/uranos/event/UranosEventHandlerPositionManager.kt b/uranos-server/src/main/kotlin/space/uranos/event/UranosEventHandlerPositionManager.kt
index 6adfce7..5aa9539 100644
--- a/uranos-server/src/main/kotlin/space/uranos/event/UranosEventHandlerPositionManager.kt
+++ b/uranos-server/src/main/kotlin/space/uranos/event/UranosEventHandlerPositionManager.kt
@@ -1,6 +1,9 @@
-package space.uranos.event
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
-import java.lang.IllegalArgumentException
+package space.uranos.event
class UranosEventHandlerPositionManager: EventHandlerPositionManager {
internal val positions = ArrayList()
diff --git a/uranos-server/src/main/kotlin/space/uranos/logging/LogbackAppender.kt b/uranos-server/src/main/kotlin/space/uranos/logging/LogbackAppender.kt
index 665a7d4..3c22361 100644
--- a/uranos-server/src/main/kotlin/space/uranos/logging/LogbackAppender.kt
+++ b/uranos-server/src/main/kotlin/space/uranos/logging/LogbackAppender.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.logging
import ch.qos.logback.classic.Level
diff --git a/uranos-server/src/main/kotlin/space/uranos/logging/UranosLoggingOutputProvider.kt b/uranos-server/src/main/kotlin/space/uranos/logging/UranosLoggingOutputProvider.kt
index 47d049e..65eaacd 100644
--- a/uranos-server/src/main/kotlin/space/uranos/logging/UranosLoggingOutputProvider.kt
+++ b/uranos-server/src/main/kotlin/space/uranos/logging/UranosLoggingOutputProvider.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.logging
import de.moritzruth.khalk.Khalk
diff --git a/uranos-server/src/main/kotlin/space/uranos/net/CompressionCodec.kt b/uranos-server/src/main/kotlin/space/uranos/net/CompressionCodec.kt
index 1c14f73..a25cd77 100644
--- a/uranos-server/src/main/kotlin/space/uranos/net/CompressionCodec.kt
+++ b/uranos-server/src/main/kotlin/space/uranos/net/CompressionCodec.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net
import io.netty.buffer.ByteBuf
diff --git a/uranos-server/src/main/kotlin/space/uranos/net/CryptBuffer.kt b/uranos-server/src/main/kotlin/space/uranos/net/CryptBuffer.kt
index 486c05d..4b81f67 100644
--- a/uranos-server/src/main/kotlin/space/uranos/net/CryptBuffer.kt
+++ b/uranos-server/src/main/kotlin/space/uranos/net/CryptBuffer.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net
import io.netty.buffer.ByteBuf
diff --git a/uranos-server/src/main/kotlin/space/uranos/net/DefaultPacketReceivedEventHandler.kt b/uranos-server/src/main/kotlin/space/uranos/net/DefaultPacketReceivedEventHandler.kt
index 6407fbf..e1eb3a3 100644
--- a/uranos-server/src/main/kotlin/space/uranos/net/DefaultPacketReceivedEventHandler.kt
+++ b/uranos-server/src/main/kotlin/space/uranos/net/DefaultPacketReceivedEventHandler.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net
import space.uranos.net.packet.IncomingPacket
diff --git a/uranos-server/src/main/kotlin/space/uranos/net/EncryptionCodec.kt b/uranos-server/src/main/kotlin/space/uranos/net/EncryptionCodec.kt
index b9b944f..3b64950 100644
--- a/uranos-server/src/main/kotlin/space/uranos/net/EncryptionCodec.kt
+++ b/uranos-server/src/main/kotlin/space/uranos/net/EncryptionCodec.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net
import io.netty.buffer.ByteBuf
diff --git a/uranos-server/src/main/kotlin/space/uranos/net/FramingCodec.kt b/uranos-server/src/main/kotlin/space/uranos/net/FramingCodec.kt
index 7e25095..658d138 100644
--- a/uranos-server/src/main/kotlin/space/uranos/net/FramingCodec.kt
+++ b/uranos-server/src/main/kotlin/space/uranos/net/FramingCodec.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net
import io.netty.buffer.ByteBuf
diff --git a/uranos-server/src/main/kotlin/space/uranos/net/LoginAndJoinProcedure.kt b/uranos-server/src/main/kotlin/space/uranos/net/LoginAndJoinProcedure.kt
index 42ab900..cb372a6 100644
--- a/uranos-server/src/main/kotlin/space/uranos/net/LoginAndJoinProcedure.kt
+++ b/uranos-server/src/main/kotlin/space/uranos/net/LoginAndJoinProcedure.kt
@@ -1,9 +1,14 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net
import io.netty.buffer.Unpooled
-import space.uranos.UranosServer
import space.uranos.Difficulty
import space.uranos.DifficultySettings
+import space.uranos.UranosServer
import space.uranos.chat.TextComponent
import space.uranos.event.ifCancelled
import space.uranos.net.MinecraftProtocolDataTypes.writeString
diff --git a/uranos-server/src/main/kotlin/space/uranos/net/PacketMessageDuplexHandler.kt b/uranos-server/src/main/kotlin/space/uranos/net/PacketMessageDuplexHandler.kt
index 4f8a34f..05a0887 100644
--- a/uranos-server/src/main/kotlin/space/uranos/net/PacketMessageDuplexHandler.kt
+++ b/uranos-server/src/main/kotlin/space/uranos/net/PacketMessageDuplexHandler.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net
import io.netty.buffer.ByteBuf
diff --git a/uranos-server/src/main/kotlin/space/uranos/net/UranosChannelInitializer.kt b/uranos-server/src/main/kotlin/space/uranos/net/UranosChannelInitializer.kt
index 65de2a4..60516e5 100644
--- a/uranos-server/src/main/kotlin/space/uranos/net/UranosChannelInitializer.kt
+++ b/uranos-server/src/main/kotlin/space/uranos/net/UranosChannelInitializer.kt
@@ -1,6 +1,14 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net
-import io.netty.channel.*
+import io.netty.channel.Channel
+import io.netty.channel.ChannelException
+import io.netty.channel.ChannelInitializer
+import io.netty.channel.ChannelOption
import space.uranos.UranosServer
class UranosChannelInitializer(private val server: UranosServer) : ChannelInitializer() {
diff --git a/uranos-server/src/main/kotlin/space/uranos/net/UranosSession.kt b/uranos-server/src/main/kotlin/space/uranos/net/UranosSession.kt
index 55beb01..bd5054e 100644
--- a/uranos-server/src/main/kotlin/space/uranos/net/UranosSession.kt
+++ b/uranos-server/src/main/kotlin/space/uranos/net/UranosSession.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net
import io.netty.buffer.ByteBuf
diff --git a/uranos-server/src/main/kotlin/space/uranos/net/UranosSocketServer.kt b/uranos-server/src/main/kotlin/space/uranos/net/UranosSocketServer.kt
index e35c843..34f24c0 100644
--- a/uranos-server/src/main/kotlin/space/uranos/net/UranosSocketServer.kt
+++ b/uranos-server/src/main/kotlin/space/uranos/net/UranosSocketServer.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net
import io.netty.bootstrap.ServerBootstrap
diff --git a/uranos-server/src/main/kotlin/space/uranos/net/packet/handshaking/HandshakingProtocolHandler.kt b/uranos-server/src/main/kotlin/space/uranos/net/packet/handshaking/HandshakingProtocolHandler.kt
index 9c4a10f..88406b8 100644
--- a/uranos-server/src/main/kotlin/space/uranos/net/packet/handshaking/HandshakingProtocolHandler.kt
+++ b/uranos-server/src/main/kotlin/space/uranos/net/packet/handshaking/HandshakingProtocolHandler.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.handshaking
import space.uranos.net.PacketReceivedEventHandler
diff --git a/uranos-server/src/main/kotlin/space/uranos/net/packet/login/EncryptionResponsePacketHandler.kt b/uranos-server/src/main/kotlin/space/uranos/net/packet/login/EncryptionResponsePacketHandler.kt
index 3b24dd5..365d8a8 100644
--- a/uranos-server/src/main/kotlin/space/uranos/net/packet/login/EncryptionResponsePacketHandler.kt
+++ b/uranos-server/src/main/kotlin/space/uranos/net/packet/login/EncryptionResponsePacketHandler.kt
@@ -1,7 +1,12 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.login
-import space.uranos.net.UranosSession
import space.uranos.net.PacketReceivedEventHandler
+import space.uranos.net.UranosSession
object EncryptionResponsePacketHandler : PacketReceivedEventHandler() {
override suspend fun handle(session: UranosSession, packet: EncryptionResponsePacket) {
diff --git a/uranos-server/src/main/kotlin/space/uranos/net/packet/login/LoginProtocolHandler.kt b/uranos-server/src/main/kotlin/space/uranos/net/packet/login/LoginProtocolHandler.kt
index 8ff47d7..47ac4da 100644
--- a/uranos-server/src/main/kotlin/space/uranos/net/packet/login/LoginProtocolHandler.kt
+++ b/uranos-server/src/main/kotlin/space/uranos/net/packet/login/LoginProtocolHandler.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.login
import space.uranos.net.ProtocolPacketReceivedEventHandler
diff --git a/uranos-server/src/main/kotlin/space/uranos/net/packet/login/LoginStartPacketHandler.kt b/uranos-server/src/main/kotlin/space/uranos/net/packet/login/LoginStartPacketHandler.kt
index 845af20..959291d 100644
--- a/uranos-server/src/main/kotlin/space/uranos/net/packet/login/LoginStartPacketHandler.kt
+++ b/uranos-server/src/main/kotlin/space/uranos/net/packet/login/LoginStartPacketHandler.kt
@@ -1,7 +1,12 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.login
-import space.uranos.net.UranosSession
import space.uranos.net.PacketReceivedEventHandler
+import space.uranos.net.UranosSession
object LoginStartPacketHandler : PacketReceivedEventHandler() {
override suspend fun handle(session: UranosSession, packet: LoginStartPacket) {
diff --git a/uranos-server/src/main/kotlin/space/uranos/net/packet/play/ClientSettingsPacketHandler.kt b/uranos-server/src/main/kotlin/space/uranos/net/packet/play/ClientSettingsPacketHandler.kt
index 3888f2e..a17d33d 100644
--- a/uranos-server/src/main/kotlin/space/uranos/net/packet/play/ClientSettingsPacketHandler.kt
+++ b/uranos-server/src/main/kotlin/space/uranos/net/packet/play/ClientSettingsPacketHandler.kt
@@ -1,7 +1,12 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
-import space.uranos.net.UranosSession
import space.uranos.net.PacketReceivedEventHandler
+import space.uranos.net.UranosSession
import space.uranos.player.UranosPlayer
import space.uranos.player.event.PlayerSettingsUpdateEvent
diff --git a/uranos-server/src/main/kotlin/space/uranos/net/packet/play/IncomingKeepAlivePacketHandler.kt b/uranos-server/src/main/kotlin/space/uranos/net/packet/play/IncomingKeepAlivePacketHandler.kt
index 7bd32ba..4cb2869 100644
--- a/uranos-server/src/main/kotlin/space/uranos/net/packet/play/IncomingKeepAlivePacketHandler.kt
+++ b/uranos-server/src/main/kotlin/space/uranos/net/packet/play/IncomingKeepAlivePacketHandler.kt
@@ -1,7 +1,12 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
-import space.uranos.net.UranosSession
import space.uranos.net.PacketReceivedEventHandler
+import space.uranos.net.UranosSession
object IncomingKeepAlivePacketHandler : PacketReceivedEventHandler() {
override suspend fun handle(session: UranosSession, packet: IncomingKeepAlivePacket) {
diff --git a/uranos-server/src/main/kotlin/space/uranos/net/packet/play/IncomingPluginMessagePacketHandler.kt b/uranos-server/src/main/kotlin/space/uranos/net/packet/play/IncomingPluginMessagePacketHandler.kt
index 9d0d78b..bab04c3 100644
--- a/uranos-server/src/main/kotlin/space/uranos/net/packet/play/IncomingPluginMessagePacketHandler.kt
+++ b/uranos-server/src/main/kotlin/space/uranos/net/packet/play/IncomingPluginMessagePacketHandler.kt
@@ -1,11 +1,16 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import io.netty.buffer.ByteBuf
import io.netty.buffer.Unpooled
import space.uranos.event.ifNotCancelled
-import space.uranos.net.UranosSession
import space.uranos.net.MinecraftProtocolDataTypes.readString
import space.uranos.net.PacketReceivedEventHandler
+import space.uranos.net.UranosSession
import space.uranos.net.event.ClientBrandReceivedEvent
object IncomingPluginMessagePacketHandler : PacketReceivedEventHandler() {
diff --git a/uranos-server/src/main/kotlin/space/uranos/net/packet/play/PlayProtocolHandler.kt b/uranos-server/src/main/kotlin/space/uranos/net/packet/play/PlayProtocolHandler.kt
index 799ca08..02ec62e 100644
--- a/uranos-server/src/main/kotlin/space/uranos/net/packet/play/PlayProtocolHandler.kt
+++ b/uranos-server/src/main/kotlin/space/uranos/net/packet/play/PlayProtocolHandler.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.play
import space.uranos.net.ProtocolPacketReceivedEventHandler
diff --git a/uranos-server/src/main/kotlin/space/uranos/net/packet/status/StatusProtocolHandler.kt b/uranos-server/src/main/kotlin/space/uranos/net/packet/status/StatusProtocolHandler.kt
index 6c8a745..97f7c79 100644
--- a/uranos-server/src/main/kotlin/space/uranos/net/packet/status/StatusProtocolHandler.kt
+++ b/uranos-server/src/main/kotlin/space/uranos/net/packet/status/StatusProtocolHandler.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.net.packet.status
import space.uranos.net.PacketReceivedEventHandler
diff --git a/uranos-server/src/main/kotlin/space/uranos/player/UranosPlayer.kt b/uranos-server/src/main/kotlin/space/uranos/player/UranosPlayer.kt
index 7491e2f..440cb26 100644
--- a/uranos-server/src/main/kotlin/space/uranos/player/UranosPlayer.kt
+++ b/uranos-server/src/main/kotlin/space/uranos/player/UranosPlayer.kt
@@ -1,9 +1,10 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.player
-import kotlinx.coroutines.CoroutineScope
-import kotlinx.coroutines.currentCoroutineContext
-import kotlinx.coroutines.ensureActive
-import kotlinx.coroutines.yield
import space.uranos.chat.TextComponent
import space.uranos.net.Session
import space.uranos.net.packet.play.ChunkDataPacket
@@ -13,7 +14,6 @@ import space.uranos.world.LocationWithRotation
import space.uranos.world.VoxelLocation
import space.uranos.world.World
import java.util.*
-import kotlin.coroutines.CoroutineContext
import kotlin.math.abs
class UranosPlayer(
diff --git a/uranos-server/src/main/kotlin/space/uranos/plugin/UranosPluginManager.kt b/uranos-server/src/main/kotlin/space/uranos/plugin/UranosPluginManager.kt
index 2490654..d9b1d87 100644
--- a/uranos-server/src/main/kotlin/space/uranos/plugin/UranosPluginManager.kt
+++ b/uranos-server/src/main/kotlin/space/uranos/plugin/UranosPluginManager.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.plugin
import space.uranos.UranosServer
diff --git a/uranos-server/src/main/kotlin/space/uranos/util/AuthenticationHelper.kt b/uranos-server/src/main/kotlin/space/uranos/util/AuthenticationHelper.kt
index 88fa38c..e1e12ac 100644
--- a/uranos-server/src/main/kotlin/space/uranos/util/AuthenticationHelper.kt
+++ b/uranos-server/src/main/kotlin/space/uranos/util/AuthenticationHelper.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.util
import com.squareup.moshi.Json
@@ -9,9 +14,6 @@ import okhttp3.CacheControl
import okhttp3.OkHttpClient
import okhttp3.Request
import space.uranos.Uranos
-import java.nio.file.Files
-import java.nio.file.Path
-import java.nio.file.Paths
import java.util.*
object AuthenticationHelper {
diff --git a/uranos-server/src/main/kotlin/space/uranos/util/AwaitExtensions.kt b/uranos-server/src/main/kotlin/space/uranos/util/AwaitExtensions.kt
index 991fe36..9141d60 100644
--- a/uranos-server/src/main/kotlin/space/uranos/util/AwaitExtensions.kt
+++ b/uranos-server/src/main/kotlin/space/uranos/util/AwaitExtensions.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.util
import io.netty.channel.ChannelFuture
diff --git a/uranos-server/src/main/kotlin/space/uranos/util/EncryptionUtils.kt b/uranos-server/src/main/kotlin/space/uranos/util/EncryptionUtils.kt
index 2aec4e9..c446f6d 100644
--- a/uranos-server/src/main/kotlin/space/uranos/util/EncryptionUtils.kt
+++ b/uranos-server/src/main/kotlin/space/uranos/util/EncryptionUtils.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.util
import java.math.BigInteger
diff --git a/uranos-server/src/test/kotlin/space/uranos/event/EventBusTest.kt b/uranos-server/src/test/kotlin/space/uranos/event/EventBusTest.kt
index cb1f0b7..c99aa82 100644
--- a/uranos-server/src/test/kotlin/space/uranos/event/EventBusTest.kt
+++ b/uranos-server/src/test/kotlin/space/uranos/event/EventBusTest.kt
@@ -1,3 +1,8 @@
+/*
+ * Copyright 2020-2021 Moritz Ruth and Uranos contributors
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file
+ */
+
package space.uranos.event
import kotlinx.coroutines.runBlocking
@@ -8,7 +13,6 @@ import space.uranos.UranosServer
import strikt.api.expectThat
import strikt.api.expectThrows
import strikt.assertions.isEqualTo
-import java.lang.IllegalArgumentException
class EventBusTest {
class TestEvent: Event() {