tempFilePool = new HashSet<>();
+
+ /**
+ * If your object is not Disposable, try following code:
+ *
+ *
+ * App.disposables.add(Disposable { vm.dispose() })
+ *
+ */
public static HashSet disposables = new HashSet<>();
public static char gamepadLabelStart = 0xE000; // lateinit
diff --git a/src/net/torvald/terrarum/IngameInstance.kt b/src/net/torvald/terrarum/IngameInstance.kt
index 5fedca0f4..d9cebb591 100644
--- a/src/net/torvald/terrarum/IngameInstance.kt
+++ b/src/net/torvald/terrarum/IngameInstance.kt
@@ -1,6 +1,5 @@
package net.torvald.terrarum
-import com.badlogic.gdx.Screen
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import net.torvald.terrarum.App.printdbg
import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZE
@@ -9,7 +8,7 @@ import net.torvald.terrarum.gameactors.ActorID
import net.torvald.terrarum.gameactors.ActorWithBody
import net.torvald.terrarum.gameactors.BlockMarkerActor
import net.torvald.terrarum.gamecontroller.TerrarumKeyboardEvent
-import net.torvald.terrarum.gameitem.ItemID
+import net.torvald.terrarum.gameitems.ItemID
import net.torvald.terrarum.gameworld.GameWorld
import net.torvald.terrarum.modulebasegame.IngameRenderer
import net.torvald.terrarum.modulebasegame.gameactors.ActorHumanoid
diff --git a/src/net/torvald/terrarum/ModMgr.kt b/src/net/torvald/terrarum/ModMgr.kt
index 561a14a4a..4de116322 100644
--- a/src/net/torvald/terrarum/ModMgr.kt
+++ b/src/net/torvald/terrarum/ModMgr.kt
@@ -5,24 +5,29 @@ import com.badlogic.gdx.files.FileHandle
import net.torvald.terrarum.App.*
import net.torvald.terrarum.blockproperties.BlockCodex
import net.torvald.terrarum.blockproperties.WireCodex
-import net.torvald.terrarum.gameitem.GameItem
-import net.torvald.terrarum.gameitem.ItemID
+import net.torvald.terrarum.gameitems.GameItem
+import net.torvald.terrarum.gameitems.ItemID
import net.torvald.terrarum.itemproperties.ItemCodex
import net.torvald.terrarum.itemproperties.MaterialCodex
import net.torvald.terrarum.langpack.Lang
+import net.torvald.terrarum.savegame.ByteArray64GrowableOutputStream
+import net.torvald.terrarum.savegame.ByteArray64OutputStream
+import net.torvald.terrarum.savegame.ByteArray64Reader
import net.torvald.terrarum.utils.CSVFetcher
import net.torvald.terrarum.utils.JsonFetcher
import org.apache.commons.csv.CSVFormat
import org.apache.commons.csv.CSVParser
import org.apache.commons.csv.CSVRecord
-import java.io.File
-import java.io.FileInputStream
-import java.io.FileNotFoundException
+import java.io.*
+import java.net.URL
+import java.net.URLClassLoader
import java.nio.file.FileSystems
import java.util.*
+
+
/**
* Modules (or Mods) Resource Manager
*
@@ -48,14 +53,14 @@ object ModMgr {
val entryPoint: String,
val releaseDate: String,
val version: String,
- val libraries: Array,
+ val jar: String,
val dependencies: Array
) {
override fun toString() =
"\tModule #$order -- $properName | $version | $author\n" +
"\t$description | $releaseDate\n" +
"\tEntry point: $entryPoint\n" +
- "\tExternal libraries: ${libraries.joinToString(", ")}\n" +
+ "\tJarfile: $jar\n" +
"\tDependencies: ${dependencies.joinToString("\n\t")}"
}
const val modDir = "./assets/mods"
@@ -64,6 +69,8 @@ object ModMgr {
val moduleInfo = HashMap()
val entryPointClasses = ArrayList()
+ val moduleClassloader = HashMap()
+
val loadOrder = ArrayList()
init {
@@ -102,10 +109,10 @@ object ModMgr {
val entryPoint = modMetadata.getProperty("entrypoint")
val releaseDate = modMetadata.getProperty("releasedate")
val version = modMetadata.getProperty("version")
- val libs = modMetadata.getProperty("libraries").split(Regex(""";[ ]*""")).toTypedArray()
+ val jar = modMetadata.getProperty("jar")
val dependency = modMetadata.getProperty("dependency").split(Regex(""";[ ]*""")).toTypedArray()
val isDir = FileSystems.getDefault().getPath("$modDir/$moduleName").toFile().isDirectory
- moduleInfo[moduleName] = ModuleMetadata(index, isDir, properName, description, author, packageName, entryPoint, releaseDate, version, libs, dependency)
+ moduleInfo[moduleName] = ModuleMetadata(index, isDir, properName, description, author, packageName, entryPoint, releaseDate, version, jar, dependency)
printdbg(this, moduleInfo[moduleName])
@@ -114,21 +121,44 @@ object ModMgr {
if (entryPoint.isNotBlank()) {
var newClass: Class<*>? = null
try {
- newClass = Class.forName(entryPoint)
+
+ // FIXME creating new classloader somehow messes up with the default classloader??!!?
+ // if CommandDict fails with NullPointerException, it means it's trying to use a wrong classloader
+ // bypassing only reveals further issues related to the classloader, such as loading wrong copy if ItemCodex
+ // that does not contain entry "basegame:0"
+
+ // for modules that has JAR defined
+// if (jar.isNotBlank()) {
+// val child = URLClassLoader(arrayOf(File("$modDir/$moduleName/$jar").toURI().toURL()),
+// this.javaClass.classLoader
+// )
+// moduleClassloader[moduleName] = child
+// newClass = Class.forName(entryPoint, true, child)
+// }
+ // for modules that are not (meant to be used by the "basegame" kind of modules)
+// else {
+ newClass = Class.forName(entryPoint)
+// }
}
- catch (e: ClassNotFoundException) {
- printdbgerr(this, "$moduleName has nonexisting entry point, skipping...")
+ catch (e: Throwable) {
+ printdbgerr(this, "$moduleName failed to load, skipping...")
printdbgerr(this, "\t$e")
+ val ba = ByteArray64GrowableOutputStream()
+ val sw = PrintStream(ba, true)
+ e.printStackTrace(sw)
+ val bw = ByteArray64Reader(ba.toByteArray64(), Charsets.UTF_8)
+ printdbgerr(this, bw.readText())
moduleInfo.remove(moduleName)
}
newClass?.let {
- val newClassConstructor = newClass!!.getConstructor(/* no args defined */)
+ val newClassConstructor = newClass.getConstructor(/* no args defined */)
val newClassInstance = newClassConstructor.newInstance(/* no args defined */)
entryPointClasses.add(newClassInstance as ModuleEntryPoint)
(newClassInstance as ModuleEntryPoint).invoke()
}
+
}
@@ -150,7 +180,7 @@ object ModMgr {
operator fun invoke() { }
- fun reloadModules() {
+ /*fun reloadModules() {
loadOrder.forEach {
val moduleName = it
@@ -196,7 +226,7 @@ object ModMgr {
moduleInfo.remove(moduleName)
}
}
- }
+ }*/
private fun checkExistence(module: String) {
if (!moduleInfo.containsKey(module))
@@ -309,7 +339,10 @@ object ModMgr {
printdbg(this, "Reading item ${itemName} <<- internal #$internalID with className $className")
- val loadedClass = Class.forName(className)
+ val loadedClass = if (moduleClassloader[module] != null)
+ Class.forName(className, true, moduleClassloader[module])
+ else
+ Class.forName(className)
val loadedClassConstructor = loadedClass.getConstructor(ItemID::class.java)
val loadedClassInstance = loadedClassConstructor.newInstance(itemName)
diff --git a/src/net/torvald/terrarum/UIItemInventoryCatBar.kt b/src/net/torvald/terrarum/UIItemInventoryCatBar.kt
index 7d1ea0d6d..11c2b56dd 100644
--- a/src/net/torvald/terrarum/UIItemInventoryCatBar.kt
+++ b/src/net/torvald/terrarum/UIItemInventoryCatBar.kt
@@ -5,7 +5,7 @@ import com.badlogic.gdx.graphics.Color
import com.badlogic.gdx.graphics.Pixmap
import com.badlogic.gdx.graphics.Texture
import com.badlogic.gdx.graphics.g2d.SpriteBatch
-import net.torvald.terrarum.gameitem.GameItem
+import net.torvald.terrarum.gameitems.GameItem
import net.torvald.terrarum.ui.*
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
import kotlin.math.roundToInt
diff --git a/src/net/torvald/terrarum/UIItemInventoryElemSimple.kt b/src/net/torvald/terrarum/UIItemInventoryElemSimple.kt
index 14108aab8..a987c7a09 100644
--- a/src/net/torvald/terrarum/UIItemInventoryElemSimple.kt
+++ b/src/net/torvald/terrarum/UIItemInventoryElemSimple.kt
@@ -4,7 +4,7 @@ import com.badlogic.gdx.graphics.Camera
import com.badlogic.gdx.graphics.Color
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import com.badlogic.gdx.graphics.g2d.TextureRegion
-import net.torvald.terrarum.gameitem.GameItem
+import net.torvald.terrarum.gameitems.GameItem
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellBase
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes.toItemCountText
diff --git a/src/net/torvald/terrarum/UIItemInventoryElemWide.kt b/src/net/torvald/terrarum/UIItemInventoryElemWide.kt
index a42a9b2af..703baa4ba 100644
--- a/src/net/torvald/terrarum/UIItemInventoryElemWide.kt
+++ b/src/net/torvald/terrarum/UIItemInventoryElemWide.kt
@@ -4,7 +4,7 @@ import com.badlogic.gdx.graphics.Camera
import com.badlogic.gdx.graphics.Color
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import com.badlogic.gdx.graphics.g2d.TextureRegion
-import net.torvald.terrarum.gameitem.GameItem
+import net.torvald.terrarum.gameitems.GameItem
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.INVEN_DEBUG_MODE
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellBase
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryCellCommonRes
diff --git a/src/net/torvald/terrarum/blockproperties/BlockCodex.kt b/src/net/torvald/terrarum/blockproperties/BlockCodex.kt
index 636f8c7a3..1cdf2d42c 100644
--- a/src/net/torvald/terrarum/blockproperties/BlockCodex.kt
+++ b/src/net/torvald/terrarum/blockproperties/BlockCodex.kt
@@ -5,7 +5,7 @@ import net.torvald.terrarum.App
import net.torvald.terrarum.App.printdbg
import net.torvald.terrarum.App.printmsg
import net.torvald.terrarum.ReferencingRanges.PREFIX_VIRTUALTILE
-import net.torvald.terrarum.gameitem.ItemID
+import net.torvald.terrarum.gameitems.ItemID
import net.torvald.terrarum.gameworld.FluidType
import net.torvald.terrarum.gameworld.GameWorld
import net.torvald.terrarum.utils.CSVFetcher
diff --git a/src/net/torvald/terrarum/blockproperties/BlockProp.kt b/src/net/torvald/terrarum/blockproperties/BlockProp.kt
index 27b79cd0d..aceec3290 100644
--- a/src/net/torvald/terrarum/blockproperties/BlockProp.kt
+++ b/src/net/torvald/terrarum/blockproperties/BlockProp.kt
@@ -3,7 +3,7 @@ package net.torvald.terrarum.blockproperties
import net.torvald.gdx.graphics.Cvec
import net.torvald.random.XXHash32
import net.torvald.terrarum.*
-import net.torvald.terrarum.gameitem.ItemID
+import net.torvald.terrarum.gameitems.ItemID
import net.torvald.terrarum.gameworld.fmod
/**
diff --git a/src/net/torvald/terrarum/blockproperties/WireCodex.kt b/src/net/torvald/terrarum/blockproperties/WireCodex.kt
index 73c7c7714..a73541794 100644
--- a/src/net/torvald/terrarum/blockproperties/WireCodex.kt
+++ b/src/net/torvald/terrarum/blockproperties/WireCodex.kt
@@ -2,8 +2,8 @@ package net.torvald.terrarum.blockproperties
import net.torvald.terrarum.*
import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZE
-import net.torvald.terrarum.gameitem.GameItem
-import net.torvald.terrarum.gameitem.ItemID
+import net.torvald.terrarum.gameitems.GameItem
+import net.torvald.terrarum.gameitems.ItemID
import net.torvald.terrarum.utils.CSVFetcher
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
import org.apache.commons.csv.CSVRecord
diff --git a/src/net/torvald/terrarum/blockproperties/WireProp.kt b/src/net/torvald/terrarum/blockproperties/WireProp.kt
index 48e5d6d3a..d1bfb266b 100644
--- a/src/net/torvald/terrarum/blockproperties/WireProp.kt
+++ b/src/net/torvald/terrarum/blockproperties/WireProp.kt
@@ -1,7 +1,7 @@
package net.torvald.terrarum.blockproperties
import net.torvald.terrarum.Codex
-import net.torvald.terrarum.gameitem.ItemID
+import net.torvald.terrarum.gameitems.ItemID
/**
* Created by minjaesong on 2021-07-28.
diff --git a/src/net/torvald/terrarum/blockstats/BlockStats.kt b/src/net/torvald/terrarum/blockstats/BlockStats.kt
index 5fab630d4..59be109b9 100644
--- a/src/net/torvald/terrarum/blockstats/BlockStats.kt
+++ b/src/net/torvald/terrarum/blockstats/BlockStats.kt
@@ -6,7 +6,7 @@ import net.torvald.terrarum.INGAME
import net.torvald.terrarum.Terrarum
import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZE
import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZEF
-import net.torvald.terrarum.gameitem.ItemID
+import net.torvald.terrarum.gameitems.ItemID
import net.torvald.terrarum.modulebasegame.TerrarumIngame
import net.torvald.terrarum.worlddrawer.BlocksDrawer
diff --git a/src/net/torvald/terrarum/gameactors/ActorWithBody.kt b/src/net/torvald/terrarum/gameactors/ActorWithBody.kt
index 6f76f803e..364f98a3c 100644
--- a/src/net/torvald/terrarum/gameactors/ActorWithBody.kt
+++ b/src/net/torvald/terrarum/gameactors/ActorWithBody.kt
@@ -12,7 +12,7 @@ import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZEF
import net.torvald.terrarum.blockproperties.Block
import net.torvald.terrarum.blockproperties.BlockProp
import net.torvald.terrarum.gamecontroller.KeyToggler
-import net.torvald.terrarum.gameitem.ItemID
+import net.torvald.terrarum.gameitems.ItemID
import net.torvald.terrarum.gameworld.BlockAddress
import net.torvald.terrarum.gameworld.GameWorld
import net.torvald.terrarum.modulebasegame.gameactors.ActorHumanoid
diff --git a/src/net/torvald/terrarum/gameactors/WireActor.kt b/src/net/torvald/terrarum/gameactors/WireActor.kt
index 7405c83bc..a50227cb0 100644
--- a/src/net/torvald/terrarum/gameactors/WireActor.kt
+++ b/src/net/torvald/terrarum/gameactors/WireActor.kt
@@ -3,7 +3,7 @@ package net.torvald.terrarum.gameactors
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import net.torvald.terrarum.*
import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZE
-import net.torvald.terrarum.gameitem.ItemID
+import net.torvald.terrarum.gameitems.ItemID
/**
* FIXME Constructor is super expensive
diff --git a/src/net/torvald/terrarum/gamecontroller/IngameController.kt b/src/net/torvald/terrarum/gamecontroller/IngameController.kt
index 6f08ed759..d604683c5 100644
--- a/src/net/torvald/terrarum/gamecontroller/IngameController.kt
+++ b/src/net/torvald/terrarum/gamecontroller/IngameController.kt
@@ -2,7 +2,6 @@ package net.torvald.terrarum.gamecontroller
import com.badlogic.gdx.Gdx
import com.badlogic.gdx.Input
-import com.badlogic.gdx.Input.Keys
import com.badlogic.gdx.InputAdapter
import com.badlogic.gdx.controllers.Controllers
import com.badlogic.gdx.utils.GdxRuntimeException
@@ -15,7 +14,7 @@ import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZE
import net.torvald.terrarum.controller.TerrarumController
import net.torvald.terrarum.floorInt
import net.torvald.terrarum.gameactors.AVKey
-import net.torvald.terrarum.gameitem.GameItem
+import net.torvald.terrarum.gameitems.GameItem
import net.torvald.terrarum.gameworld.fmod
import net.torvald.terrarum.modulebasegame.TerrarumIngame
import net.torvald.terrarum.modulebasegame.ui.UIQuickslotBar
diff --git a/src/net/torvald/terrarum/gameitem/GameItem.kt b/src/net/torvald/terrarum/gameitems/GameItem.kt
similarity index 99%
rename from src/net/torvald/terrarum/gameitem/GameItem.kt
rename to src/net/torvald/terrarum/gameitems/GameItem.kt
index 5836cc900..ce6a16565 100644
--- a/src/net/torvald/terrarum/gameitem/GameItem.kt
+++ b/src/net/torvald/terrarum/gameitems/GameItem.kt
@@ -1,4 +1,4 @@
-package net.torvald.terrarum.gameitem
+package net.torvald.terrarum.gameitems
import com.badlogic.gdx.graphics.Color
import com.badlogic.gdx.graphics.g2d.TextureRegion
diff --git a/src/net/torvald/terrarum/gameworld/GameWorld.kt b/src/net/torvald/terrarum/gameworld/GameWorld.kt
index 1fa6db9b8..d5955eb83 100644
--- a/src/net/torvald/terrarum/gameworld/GameWorld.kt
+++ b/src/net/torvald/terrarum/gameworld/GameWorld.kt
@@ -9,7 +9,7 @@ import net.torvald.terrarum.blockproperties.Block
import net.torvald.terrarum.blockproperties.Fluid
import net.torvald.terrarum.gameactors.ActorID
import net.torvald.terrarum.gameactors.WireActor
-import net.torvald.terrarum.gameitem.ItemID
+import net.torvald.terrarum.gameitems.ItemID
import net.torvald.terrarum.modulebasegame.gameactors.IngamePlayer
import net.torvald.terrarum.realestate.LandUtil
import net.torvald.terrarum.utils.*
diff --git a/src/net/torvald/terrarum/gameworld/WorldSimulator.kt b/src/net/torvald/terrarum/gameworld/WorldSimulator.kt
index 72d40a900..e2f303b4a 100644
--- a/src/net/torvald/terrarum/gameworld/WorldSimulator.kt
+++ b/src/net/torvald/terrarum/gameworld/WorldSimulator.kt
@@ -7,7 +7,7 @@ import net.torvald.terrarum.blockproperties.Block
import net.torvald.terrarum.blockproperties.Fluid
import net.torvald.terrarum.gameactors.ActorWithBody
import net.torvald.terrarum.gameactors.Controllable
-import net.torvald.terrarum.gameitem.ItemID
+import net.torvald.terrarum.gameitems.ItemID
import net.torvald.terrarum.modulebasegame.TerrarumIngame
import net.torvald.terrarum.modulebasegame.TerrarumIngame.Companion.inUpdateRange
import net.torvald.terrarum.modulebasegame.gameactors.*
diff --git a/src/net/torvald/terrarum/itemproperties/ItemCodex.kt b/src/net/torvald/terrarum/itemproperties/ItemCodex.kt
index d5c2e46cd..a15db0bc4 100644
--- a/src/net/torvald/terrarum/itemproperties/ItemCodex.kt
+++ b/src/net/torvald/terrarum/itemproperties/ItemCodex.kt
@@ -8,8 +8,8 @@ import net.torvald.terrarum.ReferencingRanges
import net.torvald.terrarum.ReferencingRanges.PREFIX_ACTORITEM
import net.torvald.terrarum.ReferencingRanges.PREFIX_DYNAMICITEM
import net.torvald.terrarum.Terrarum
-import net.torvald.terrarum.gameitem.GameItem
-import net.torvald.terrarum.gameitem.ItemID
+import net.torvald.terrarum.gameitems.GameItem
+import net.torvald.terrarum.gameitems.ItemID
import net.torvald.terrarum.modulebasegame.TerrarumIngame
import net.torvald.terrarum.modulebasegame.gameactors.CanBeAnItem
import net.torvald.terrarum.worlddrawer.BlocksDrawer
diff --git a/src/net/torvald/terrarum/modulebasegame/BuildingMaker.kt b/src/net/torvald/terrarum/modulebasegame/BuildingMaker.kt
index 12dd60d7b..c6a6004b3 100644
--- a/src/net/torvald/terrarum/modulebasegame/BuildingMaker.kt
+++ b/src/net/torvald/terrarum/modulebasegame/BuildingMaker.kt
@@ -12,7 +12,7 @@ import net.torvald.terrarum.blockproperties.Block
import net.torvald.terrarum.blockproperties.BlockPropUtil
import net.torvald.terrarum.gameactors.*
import net.torvald.terrarum.gamecontroller.TerrarumKeyboardEvent
-import net.torvald.terrarum.gameitem.ItemID
+import net.torvald.terrarum.gameitems.ItemID
import net.torvald.terrarum.gameworld.GameWorld
import net.torvald.terrarum.modulebasegame.gameactors.ActorHumanoid
import net.torvald.terrarum.gameworld.WorldTime
diff --git a/src/net/torvald/terrarum/modulebasegame/EntryPoint.kt b/src/net/torvald/terrarum/modulebasegame/EntryPoint.kt
index bb9ff7f35..20982153e 100644
--- a/src/net/torvald/terrarum/modulebasegame/EntryPoint.kt
+++ b/src/net/torvald/terrarum/modulebasegame/EntryPoint.kt
@@ -5,7 +5,7 @@ import net.torvald.terrarum.App.IS_DEVELOPMENT_BUILD
import net.torvald.terrarum.App.printdbg
import net.torvald.terrarum.blockproperties.BlockProp
import net.torvald.terrarum.gameactors.ActorWithBody
-import net.torvald.terrarum.gameitem.GameItem
+import net.torvald.terrarum.gameitems.GameItem
import net.torvald.terrarum.modulebasegame.gameitems.BlockBase
import net.torvald.terrarum.modulebasegame.imagefont.WatchFont
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
diff --git a/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt b/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt
index 9313a0f77..f80c307eb 100644
--- a/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt
+++ b/src/net/torvald/terrarum/modulebasegame/TerrarumIngame.kt
@@ -19,8 +19,8 @@ import net.torvald.terrarum.gameactors.*
import net.torvald.terrarum.gamecontroller.IngameController
import net.torvald.terrarum.gamecontroller.KeyToggler
import net.torvald.terrarum.gamecontroller.TerrarumKeyboardEvent
-import net.torvald.terrarum.gameitem.GameItem
-import net.torvald.terrarum.gameitem.inInteractableRange
+import net.torvald.terrarum.gameitems.GameItem
+import net.torvald.terrarum.gameitems.inInteractableRange
import net.torvald.terrarum.gameparticles.ParticleBase
import net.torvald.terrarum.gameworld.GameWorld
import net.torvald.terrarum.gameworld.WorldSimulator
@@ -33,7 +33,6 @@ import net.torvald.terrarum.modulebasegame.worldgenerator.RoguelikeRandomiser
import net.torvald.terrarum.modulebasegame.worldgenerator.Worldgen
import net.torvald.terrarum.modulebasegame.worldgenerator.WorldgenParams
import net.torvald.terrarum.realestate.LandUtil
-import net.torvald.terrarum.savegame.DiskSkimmer
import net.torvald.terrarum.savegame.VDUtil
import net.torvald.terrarum.savegame.VirtualDisk
import net.torvald.terrarum.serialise.Common
@@ -174,11 +173,22 @@ open class TerrarumIngame(batch: SpriteBatch) : IngameInstance(batch) {
field = value
}
+ var wearableDeviceUI: UICanvas? = null
+ set(value) {
+ field = value
+ value?.setPosition(100, 100) // TODO
+ }
+
val getUIFixture = object : Id_UICanvasNullable { // quick workaround for the type erasure (you can't use lambda...)
override fun get(): UICanvas? {
return uiFixture
}
}
+ val getWearableDeviceUI = object : Id_UICanvasNullable { // quick workaround for the type erasure (you can't use lambda...)
+ override fun get(): UICanvas? {
+ return wearableDeviceUI
+ }
+ }
lateinit var uiVitalPrimary: UICanvas
lateinit var uiVitalSecondary: UICanvas
@@ -537,6 +547,7 @@ open class TerrarumIngame(batch: SpriteBatch) : IngameInstance(batch) {
uiQuickBar,
// uiBasicInfo, // temporarily commenting out: wouldn't make sense for v 0.3 release
uiWatchTierOne,
+ getWearableDeviceUI,
UIScreenZoom(),
uiAutosaveNotifier,
uiInventoryPlayer,
diff --git a/src/net/torvald/terrarum/modulebasegame/console/Inventory.kt b/src/net/torvald/terrarum/modulebasegame/console/Inventory.kt
index b319268f3..3f0ca4813 100644
--- a/src/net/torvald/terrarum/modulebasegame/console/Inventory.kt
+++ b/src/net/torvald/terrarum/modulebasegame/console/Inventory.kt
@@ -4,8 +4,7 @@ import net.torvald.terrarum.Terrarum
import net.torvald.terrarum.console.ConsoleCommand
import net.torvald.terrarum.console.Echo
import net.torvald.terrarum.console.EchoError
-import net.torvald.terrarum.gameitem.ItemID
-import net.torvald.terrarum.itemproperties.ItemCodex
+import net.torvald.terrarum.gameitems.ItemID
import net.torvald.terrarum.*
import net.torvald.terrarum.Terrarum.PLAYER_REF_ID
import net.torvald.terrarum.gameactors.ActorID
diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/ActorHumanoid.kt b/src/net/torvald/terrarum/modulebasegame/gameactors/ActorHumanoid.kt
index 3fbae4e45..b7e8b27bb 100644
--- a/src/net/torvald/terrarum/modulebasegame/gameactors/ActorHumanoid.kt
+++ b/src/net/torvald/terrarum/modulebasegame/gameactors/ActorHumanoid.kt
@@ -8,7 +8,7 @@ import net.torvald.terrarum.*
import net.torvald.terrarum.App.printdbg
import net.torvald.terrarum.gameactors.*
import net.torvald.terrarum.gameactors.faction.Faction
-import net.torvald.terrarum.gameitem.GameItem
+import net.torvald.terrarum.gameitems.GameItem
import net.torvald.terrarum.itemproperties.Material
import net.torvald.terrarum.realestate.LandUtil
import org.dyn4j.geometry.Vector2
diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/ActorInventory.kt b/src/net/torvald/terrarum/modulebasegame/gameactors/ActorInventory.kt
index 15332834b..a2657a24a 100644
--- a/src/net/torvald/terrarum/modulebasegame/gameactors/ActorInventory.kt
+++ b/src/net/torvald/terrarum/modulebasegame/gameactors/ActorInventory.kt
@@ -4,8 +4,8 @@ import net.torvald.terrarum.App
import net.torvald.terrarum.ItemCodex
import net.torvald.terrarum.gameactors.AVKey
import net.torvald.terrarum.gameactors.Actor
-import net.torvald.terrarum.gameitem.GameItem
-import net.torvald.terrarum.gameitem.ItemID
+import net.torvald.terrarum.gameitems.GameItem
+import net.torvald.terrarum.gameitems.ItemID
import net.torvald.terrarum.modulebasegame.ui.UIQuickslotBar
/**
diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/CanBeAnItem.kt b/src/net/torvald/terrarum/modulebasegame/gameactors/CanBeAnItem.kt
index a430b8906..6ccc0c808 100644
--- a/src/net/torvald/terrarum/modulebasegame/gameactors/CanBeAnItem.kt
+++ b/src/net/torvald/terrarum/modulebasegame/gameactors/CanBeAnItem.kt
@@ -1,6 +1,6 @@
package net.torvald.terrarum.modulebasegame.gameactors
-import net.torvald.terrarum.gameitem.GameItem
+import net.torvald.terrarum.gameitems.GameItem
/**
* Created by minjaesong on 2016-01-31.
diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/DroppedItem.kt b/src/net/torvald/terrarum/modulebasegame/gameactors/DroppedItem.kt
index 9ad4e15c4..0839ae33f 100644
--- a/src/net/torvald/terrarum/modulebasegame/gameactors/DroppedItem.kt
+++ b/src/net/torvald/terrarum/modulebasegame/gameactors/DroppedItem.kt
@@ -10,7 +10,7 @@ import net.torvald.terrarum.gameactors.AVKey
import net.torvald.terrarum.gameactors.ActorWithBody
import net.torvald.terrarum.gameactors.PhysProperties
import net.torvald.terrarum.gameactors.drawBodyInGoodPosition
-import net.torvald.terrarum.gameitem.ItemID
+import net.torvald.terrarum.gameitems.ItemID
/**
* Created by minjaesong on 2016-03-15.
diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureBase.kt b/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureBase.kt
index 098f09b70..1af2d4551 100644
--- a/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureBase.kt
+++ b/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureBase.kt
@@ -7,7 +7,7 @@ import net.torvald.terrarum.blockproperties.Block
import net.torvald.terrarum.gameactors.ActorID
import net.torvald.terrarum.gameactors.ActorWithBody
import net.torvald.terrarum.gameactors.PhysProperties
-import net.torvald.terrarum.gameitem.ItemID
+import net.torvald.terrarum.gameitems.ItemID
import net.torvald.terrarum.gameworld.fmod
import net.torvald.terrarum.ui.UICanvas
import org.dyn4j.geometry.Vector2
diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureInventory.kt b/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureInventory.kt
index 69858d9b5..e49b46af8 100644
--- a/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureInventory.kt
+++ b/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureInventory.kt
@@ -2,8 +2,8 @@ package net.torvald.terrarum.modulebasegame.gameactors
import net.torvald.terrarum.ItemCodex
import net.torvald.terrarum.Terrarum
-import net.torvald.terrarum.gameitem.GameItem
-import net.torvald.terrarum.gameitem.ItemID
+import net.torvald.terrarum.gameitems.GameItem
+import net.torvald.terrarum.gameitems.ItemID
import net.torvald.terrarum.lock
import net.torvald.terrarum.modulebasegame.TerrarumIngame
import java.math.BigInteger
diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureStorageChest.kt b/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureStorageChest.kt
index dbac0dd6b..2b1d7d8d1 100644
--- a/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureStorageChest.kt
+++ b/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureStorageChest.kt
@@ -3,11 +3,10 @@ package net.torvald.terrarum.modulebasegame.gameactors
import com.badlogic.gdx.graphics.Camera
import com.badlogic.gdx.graphics.Color
import com.badlogic.gdx.graphics.g2d.SpriteBatch
-import com.badlogic.gdx.graphics.glutils.ShapeRenderer
import net.torvald.terrarum.*
import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZE
import net.torvald.terrarum.gameactors.AVKey
-import net.torvald.terrarum.gameitem.GameItem
+import net.torvald.terrarum.gameitems.GameItem
import net.torvald.terrarum.langpack.Lang
import net.torvald.terrarum.modulebasegame.gameactors.FixtureInventory.Companion.CAPACITY_MODE_COUNT
import net.torvald.terrarum.modulebasegame.ui.*
diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/HumanoidNPC.kt b/src/net/torvald/terrarum/modulebasegame/gameactors/HumanoidNPC.kt
index e4287f0da..354dd1737 100644
--- a/src/net/torvald/terrarum/modulebasegame/gameactors/HumanoidNPC.kt
+++ b/src/net/torvald/terrarum/modulebasegame/gameactors/HumanoidNPC.kt
@@ -6,7 +6,7 @@ import net.torvald.terrarum.gameactors.AIControlled
import net.torvald.terrarum.gameactors.AVKey
import net.torvald.terrarum.gameactors.ActorWithBody
import net.torvald.terrarum.gameactors.ai.ActorAI
-import net.torvald.terrarum.gameitem.GameItem
+import net.torvald.terrarum.gameitems.GameItem
import net.torvald.terrarum.itemproperties.Material
/**
diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/Pocketed.kt b/src/net/torvald/terrarum/modulebasegame/gameactors/Pocketed.kt
index 195b04978..eeb0cbf73 100644
--- a/src/net/torvald/terrarum/modulebasegame/gameactors/Pocketed.kt
+++ b/src/net/torvald/terrarum/modulebasegame/gameactors/Pocketed.kt
@@ -4,8 +4,8 @@ import net.torvald.terrarum.App
import net.torvald.terrarum.ItemCodex
import net.torvald.terrarum.gameactors.ActorValue
import net.torvald.terrarum.gameactors.ActorWithBody
-import net.torvald.terrarum.gameitem.GameItem
-import net.torvald.terrarum.gameitem.ItemID
+import net.torvald.terrarum.gameitems.GameItem
+import net.torvald.terrarum.gameitems.ItemID
/**
* Created by minjaesong on 2016-01-15.
diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/WeaponSwung.kt b/src/net/torvald/terrarum/modulebasegame/gameactors/WeaponSwung.kt
index 42d40619a..c272e4eb6 100644
--- a/src/net/torvald/terrarum/modulebasegame/gameactors/WeaponSwung.kt
+++ b/src/net/torvald/terrarum/modulebasegame/gameactors/WeaponSwung.kt
@@ -5,7 +5,7 @@ import net.torvald.terrarum.gameactors.ActorWithBody
import net.torvald.terrarum.gameactors.Hitbox
import net.torvald.terrarum.gameactors.Luminous
import net.torvald.terrarum.gameactors.PhysProperties
-import net.torvald.terrarum.gameitem.ItemID
+import net.torvald.terrarum.gameitems.ItemID
/**
* Created by minjaesong on 2016-04-26.
diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/BlockBase.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/BlockBase.kt
index f5b2465a9..2d497f1ad 100644
--- a/src/net/torvald/terrarum/modulebasegame/gameitems/BlockBase.kt
+++ b/src/net/torvald/terrarum/modulebasegame/gameitems/BlockBase.kt
@@ -2,9 +2,9 @@ package net.torvald.terrarum.modulebasegame.gameitems
import net.torvald.terrarum.*
import net.torvald.terrarum.gameactors.ActorWithBody
-import net.torvald.terrarum.gameitem.GameItem
-import net.torvald.terrarum.gameitem.ItemID
-import net.torvald.terrarum.gameitem.inInteractableRange
+import net.torvald.terrarum.gameitems.GameItem
+import net.torvald.terrarum.gameitems.ItemID
+import net.torvald.terrarum.gameitems.inInteractableRange
import net.torvald.terrarum.modulebasegame.TerrarumIngame
/**
diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemLogicSignalEmitter.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemLogicSignalEmitter.kt
index 9df360604..f6b9fa49a 100644
--- a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemLogicSignalEmitter.kt
+++ b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemLogicSignalEmitter.kt
@@ -6,8 +6,8 @@ import net.torvald.terrarum.CommonResourcePool
import net.torvald.terrarum.ModMgr
import net.torvald.terrarum.Terrarum
import net.torvald.terrarum.gameactors.ActorWithBody
-import net.torvald.terrarum.gameitem.GameItem
-import net.torvald.terrarum.gameitem.ItemID
+import net.torvald.terrarum.gameitems.GameItem
+import net.torvald.terrarum.gameitems.ItemID
import net.torvald.terrarum.itemproperties.Material
import net.torvald.terrarum.modulebasegame.TerrarumIngame
import net.torvald.terrarum.modulebasegame.gameactors.FixtureLogicSignalEmitter
diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemStorageChest.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemStorageChest.kt
index b32188f65..a2853ac4b 100644
--- a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemStorageChest.kt
+++ b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemStorageChest.kt
@@ -4,9 +4,9 @@ import com.badlogic.gdx.graphics.g2d.TextureRegion
import net.torvald.terrarum.CommonResourcePool
import net.torvald.terrarum.Terrarum
import net.torvald.terrarum.gameactors.ActorWithBody
-import net.torvald.terrarum.gameitem.GameItem
-import net.torvald.terrarum.gameitem.ItemID
-import net.torvald.terrarum.gameitem.inInteractableRange
+import net.torvald.terrarum.gameitems.GameItem
+import net.torvald.terrarum.gameitems.ItemID
+import net.torvald.terrarum.gameitems.inInteractableRange
import net.torvald.terrarum.itemproperties.Material
import net.torvald.terrarum.modulebasegame.gameactors.FixtureStorageChest
import net.torvald.terrarum.modulebasegame.gameactors.FixtureTikiTorch
diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemTikiTorch.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemTikiTorch.kt
index d9fcf6377..048dccec7 100644
--- a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemTikiTorch.kt
+++ b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemTikiTorch.kt
@@ -5,9 +5,9 @@ import net.torvald.terrarum.CommonResourcePool
import net.torvald.terrarum.ModMgr
import net.torvald.terrarum.Terrarum
import net.torvald.terrarum.gameactors.ActorWithBody
-import net.torvald.terrarum.gameitem.GameItem
-import net.torvald.terrarum.gameitem.ItemID
-import net.torvald.terrarum.gameitem.inInteractableRange
+import net.torvald.terrarum.gameitems.GameItem
+import net.torvald.terrarum.gameitems.ItemID
+import net.torvald.terrarum.gameitems.inInteractableRange
import net.torvald.terrarum.itemproperties.Material
import net.torvald.terrarum.modulebasegame.gameactors.FixtureTikiTorch
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/PickaxeGeneric.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/PickaxeGeneric.kt
index c98723e0e..26578ea17 100644
--- a/src/net/torvald/terrarum/modulebasegame/gameitems/PickaxeGeneric.kt
+++ b/src/net/torvald/terrarum/modulebasegame/gameitems/PickaxeGeneric.kt
@@ -7,9 +7,9 @@ import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZED
import net.torvald.terrarum.blockproperties.Block
import net.torvald.terrarum.gameactors.AVKey
import net.torvald.terrarum.gameactors.ActorWithBody
-import net.torvald.terrarum.gameitem.GameItem
-import net.torvald.terrarum.gameitem.ItemID
-import net.torvald.terrarum.gameitem.inInteractableRange
+import net.torvald.terrarum.gameitems.GameItem
+import net.torvald.terrarum.gameitems.ItemID
+import net.torvald.terrarum.gameitems.inInteractableRange
import net.torvald.terrarum.itemproperties.Calculate
import net.torvald.terrarum.modulebasegame.gameactors.DroppedItem
import net.torvald.terrarum.modulebasegame.gameitems.PickaxeCore.BASE_MASS_AND_SIZE
diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/WeaponMeleeCore.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/WeaponMeleeCore.kt
index abef264dd..8357b1307 100644
--- a/src/net/torvald/terrarum/modulebasegame/gameitems/WeaponMeleeCore.kt
+++ b/src/net/torvald/terrarum/modulebasegame/gameitems/WeaponMeleeCore.kt
@@ -2,8 +2,8 @@ package net.torvald.terrarum.modulebasegame.gameitems
import net.torvald.random.Fudge3
import net.torvald.random.HQRNG
-import net.torvald.terrarum.gameitem.GameItem
-import net.torvald.terrarum.gameitem.ItemID
+import net.torvald.terrarum.gameitems.GameItem
+import net.torvald.terrarum.gameitems.ItemID
import net.torvald.terrarum.modulebasegame.gameactors.ActorHumanoid
import kotlin.math.pow
diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/WireCutterAll.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/WireCutterAll.kt
index 57b432414..bcb6cff15 100644
--- a/src/net/torvald/terrarum/modulebasegame/gameitems/WireCutterAll.kt
+++ b/src/net/torvald/terrarum/modulebasegame/gameitems/WireCutterAll.kt
@@ -5,11 +5,10 @@ import net.torvald.terrarum.CommonResourcePool
import net.torvald.terrarum.Point2i
import net.torvald.terrarum.Terrarum
import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZE
-import net.torvald.terrarum.WireCodex
import net.torvald.terrarum.gameactors.ActorWithBody
-import net.torvald.terrarum.gameitem.GameItem
-import net.torvald.terrarum.gameitem.ItemID
-import net.torvald.terrarum.gameitem.inInteractableRange
+import net.torvald.terrarum.gameitems.GameItem
+import net.torvald.terrarum.gameitems.ItemID
+import net.torvald.terrarum.gameitems.inInteractableRange
import net.torvald.terrarum.itemproperties.Material
import net.torvald.terrarum.modulebasegame.TerrarumIngame
import net.torvald.terrarum.modulebasegame.gameactors.DroppedItem
diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/WireGraphDebugger.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/WireGraphDebugger.kt
index fc804c217..69e4a267f 100644
--- a/src/net/torvald/terrarum/modulebasegame/gameitems/WireGraphDebugger.kt
+++ b/src/net/torvald/terrarum/modulebasegame/gameitems/WireGraphDebugger.kt
@@ -6,8 +6,8 @@ import net.torvald.EMDASH
import net.torvald.terrarum.*
import net.torvald.terrarum.gameactors.ActorWithBody
import net.torvald.terrarum.gameactors.BlockMarkerActor
-import net.torvald.terrarum.gameitem.GameItem
-import net.torvald.terrarum.gameitem.ItemID
+import net.torvald.terrarum.gameitems.GameItem
+import net.torvald.terrarum.gameitems.ItemID
import net.torvald.terrarum.modulebasegame.TerrarumIngame
class WireGraphDebugger(originalID: ItemID) : GameItem(originalID) {
diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/WirePieceSignalWire.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/WirePieceSignalWire.kt
index 37ebff00b..d2c0fe6b9 100644
--- a/src/net/torvald/terrarum/modulebasegame/gameitems/WirePieceSignalWire.kt
+++ b/src/net/torvald/terrarum/modulebasegame/gameitems/WirePieceSignalWire.kt
@@ -3,8 +3,8 @@ package net.torvald.terrarum.modulebasegame.gameitems
import com.badlogic.gdx.graphics.g2d.TextureRegion
import net.torvald.terrarum.CommonResourcePool
import net.torvald.terrarum.gameactors.ActorWithBody
-import net.torvald.terrarum.gameitem.GameItem
-import net.torvald.terrarum.gameitem.ItemID
+import net.torvald.terrarum.gameitems.GameItem
+import net.torvald.terrarum.gameitems.ItemID
import net.torvald.terrarum.itemproperties.Material
/**
diff --git a/src/net/torvald/terrarum/modulebasegame/ui/AmmoMeterProxy.kt b/src/net/torvald/terrarum/modulebasegame/ui/AmmoMeterProxy.kt
index 4af847e9c..327b891fe 100644
--- a/src/net/torvald/terrarum/modulebasegame/ui/AmmoMeterProxy.kt
+++ b/src/net/torvald/terrarum/modulebasegame/ui/AmmoMeterProxy.kt
@@ -1,7 +1,6 @@
package net.torvald.terrarum.modulebasegame.ui
-import net.torvald.terrarum.gameitem.GameItem
-import net.torvald.terrarum.itemproperties.ItemCodex
+import net.torvald.terrarum.gameitems.GameItem
import net.torvald.terrarum.modulebasegame.gameactors.ActorHumanoid
import net.torvald.terrarum.*
diff --git a/src/net/torvald/terrarum/modulebasegame/ui/InventoryNegotiator.kt b/src/net/torvald/terrarum/modulebasegame/ui/InventoryNegotiator.kt
index 0d0d4dcad..e57571ad4 100644
--- a/src/net/torvald/terrarum/modulebasegame/ui/InventoryNegotiator.kt
+++ b/src/net/torvald/terrarum/modulebasegame/ui/InventoryNegotiator.kt
@@ -1,7 +1,7 @@
package net.torvald.terrarum.modulebasegame.ui
import net.torvald.terrarum.UIItemInventoryCatBar.Companion.CAT_ALL
-import net.torvald.terrarum.gameitem.GameItem
+import net.torvald.terrarum.gameitems.GameItem
import net.torvald.terrarum.modulebasegame.gameactors.FixtureInventory
/**
diff --git a/src/net/torvald/terrarum/modulebasegame/ui/ItemSlotImageFactory.kt b/src/net/torvald/terrarum/modulebasegame/ui/ItemSlotImageFactory.kt
index 6ea705386..029fc8c7e 100644
--- a/src/net/torvald/terrarum/modulebasegame/ui/ItemSlotImageFactory.kt
+++ b/src/net/torvald/terrarum/modulebasegame/ui/ItemSlotImageFactory.kt
@@ -4,8 +4,7 @@ import com.badlogic.gdx.Gdx
import com.badlogic.gdx.graphics.Color
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import com.badlogic.gdx.graphics.g2d.TextureRegion
-import net.torvald.terrarum.gameitem.GameItem
-import net.torvald.terrarum.itemproperties.ItemCodex
+import net.torvald.terrarum.gameitems.GameItem
import net.torvald.terrarum.toInt
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
import net.torvald.terrarum.*
diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIItemInventoryCellBase.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIItemInventoryCellBase.kt
index 5a08f2803..8ef3f41dc 100644
--- a/src/net/torvald/terrarum/modulebasegame/ui/UIItemInventoryCellBase.kt
+++ b/src/net/torvald/terrarum/modulebasegame/ui/UIItemInventoryCellBase.kt
@@ -7,7 +7,7 @@ import com.badlogic.gdx.graphics.g2d.SpriteBatch
import com.badlogic.gdx.graphics.g2d.TextureRegion
import net.torvald.terrarum.GdxColorMap
import net.torvald.terrarum.abs
-import net.torvald.terrarum.gameitem.GameItem
+import net.torvald.terrarum.gameitems.GameItem
import net.torvald.terrarum.ui.UICanvas
import net.torvald.terrarum.ui.UIItem
import kotlin.math.roundToInt
diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIItemInventoryEquippedView.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIItemInventoryEquippedView.kt
index d28350d75..913143959 100644
--- a/src/net/torvald/terrarum/modulebasegame/ui/UIItemInventoryEquippedView.kt
+++ b/src/net/torvald/terrarum/modulebasegame/ui/UIItemInventoryEquippedView.kt
@@ -4,7 +4,7 @@ import com.badlogic.gdx.graphics.Camera
import com.badlogic.gdx.graphics.Color
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import net.torvald.terrarum.*
-import net.torvald.terrarum.gameitem.GameItem
+import net.torvald.terrarum.gameitems.GameItem
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.itemListHeight
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryItemGrid.Companion.createInvCellGenericKeyDownFun
import net.torvald.terrarum.modulebasegame.ui.UIItemInventoryItemGrid.Companion.createInvCellGenericTouchDownFun
diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIItemInventoryItemGrid.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIItemInventoryItemGrid.kt
index 8e43251b5..b43eb80ef 100644
--- a/src/net/torvald/terrarum/modulebasegame/ui/UIItemInventoryItemGrid.kt
+++ b/src/net/torvald/terrarum/modulebasegame/ui/UIItemInventoryItemGrid.kt
@@ -7,14 +7,12 @@ import com.badlogic.gdx.graphics.g2d.SpriteBatch
import net.torvald.terrarum.*
import net.torvald.terrarum.UIItemInventoryCatBar.Companion.CAT_ALL
import net.torvald.terrarum.gameactors.AVKey
-import net.torvald.terrarum.gameitem.GameItem
+import net.torvald.terrarum.gameitems.GameItem
import net.torvald.terrarum.gameworld.fmod
import net.torvald.terrarum.modulebasegame.TerrarumIngame
import net.torvald.terrarum.modulebasegame.gameactors.ActorInventory
import net.torvald.terrarum.modulebasegame.gameactors.FixtureInventory
import net.torvald.terrarum.modulebasegame.gameactors.InventoryPair
-import net.torvald.terrarum.modulebasegame.ui.ItemSlotImageFactory.CELLCOLOUR_BLACK_ACTIVE
-import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.CELL_COL
import net.torvald.terrarum.modulebasegame.ui.UIInventoryFull.Companion.INVEN_DEBUG_MODE
import net.torvald.terrarum.ui.Toolkit
import net.torvald.terrarum.ui.UICanvas
@@ -395,7 +393,7 @@ class UIItemInventoryItemGrid(
// filter items
getInventory().forEach {
- if ((filter.contains(ItemCodex[it.itm]!!.inventoryCategory) || filter[0] == CAT_ALL))
+ if ((filter.contains((ItemCodex[it.itm]?.inventoryCategory ?: throw IllegalArgumentException("Unknown item: ${it.itm}"))) || filter[0] == CAT_ALL))
inventorySortList.add(it)
}
diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UIPaletteSelector.kt b/src/net/torvald/terrarum/modulebasegame/ui/UIPaletteSelector.kt
index 8867e5238..4f6702075 100644
--- a/src/net/torvald/terrarum/modulebasegame/ui/UIPaletteSelector.kt
+++ b/src/net/torvald/terrarum/modulebasegame/ui/UIPaletteSelector.kt
@@ -9,7 +9,7 @@ import net.torvald.terrarum.App
import net.torvald.terrarum.ItemCodex
import net.torvald.terrarum.blendNormal
import net.torvald.terrarum.blockproperties.Block
-import net.torvald.terrarum.gameitem.ItemID
+import net.torvald.terrarum.gameitems.ItemID
import net.torvald.terrarum.modulebasegame.BuildingMaker
import net.torvald.terrarum.modulebasegame.ui.ItemSlotImageFactory.CELLCOLOUR_BLACK
import net.torvald.terrarum.ui.Toolkit
diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UITitleModules.kt b/src/net/torvald/terrarum/modulebasegame/ui/UITitleModules.kt
index 1cf70baef..391e6fa4b 100644
--- a/src/net/torvald/terrarum/modulebasegame/ui/UITitleModules.kt
+++ b/src/net/torvald/terrarum/modulebasegame/ui/UITitleModules.kt
@@ -15,7 +15,7 @@ import net.torvald.terrarum.ui.UIItemModuleInfoCell
/**
* Created by minjaesong on 2017-08-01.
*/
-class UITitleModules : UICanvas() {
+class UITitleModules(val remoCon: UIRemoCon) : UICanvas() {
override var openCloseTime: Second = 0f
diff --git a/src/net/torvald/terrarum/modulebasegame/ui/UITitleRemoConYaml.kt b/src/net/torvald/terrarum/modulebasegame/ui/UITitleRemoConYaml.kt
index 9e67e8a6d..15796ab3a 100644
--- a/src/net/torvald/terrarum/modulebasegame/ui/UITitleRemoConYaml.kt
+++ b/src/net/torvald/terrarum/modulebasegame/ui/UITitleRemoConYaml.kt
@@ -20,6 +20,7 @@ object UITitleRemoConYaml {
- MENU_LABEL_LANGUAGE : net.torvald.terrarum.modulebasegame.ui.UITitleLanguage
- MENU_MODULES : net.torvald.terrarum.ModOptionsHost
- MENU_LABEL_RETURN+WRITETOCONFIG
+- MENU_MODULES : net.torvald.terrarum.modulebasegame.ui.UITitleModules
- MENU_LABEL_CREDITS
- MENU_LABEL_COPYRIGHT : net.torvald.terrarum.modulebasegame.ui.UITitleCredits
- MENU_CREDIT_GPL_DNT : net.torvald.terrarum.modulebasegame.ui.UITitleGPL3
diff --git a/src/net/torvald/terrarum/utils/HashArray.kt b/src/net/torvald/terrarum/utils/HashArray.kt
index d310f864b..8d205bcf2 100644
--- a/src/net/torvald/terrarum/utils/HashArray.kt
+++ b/src/net/torvald/terrarum/utils/HashArray.kt
@@ -2,7 +2,7 @@ package net.torvald.terrarum.utils
import net.torvald.terrarum.gameactors.ActorValue
-import net.torvald.terrarum.gameitem.ItemID
+import net.torvald.terrarum.gameitems.ItemID
import net.torvald.terrarum.gameworld.BlockAddress
import net.torvald.terrarum.gameworld.FluidType
import net.torvald.terrarum.gameworld.GameWorld
diff --git a/src/net/torvald/terrarum/worlddrawer/BlocksDrawer.kt b/src/net/torvald/terrarum/worlddrawer/BlocksDrawer.kt
index 7997b0918..b409077b7 100644
--- a/src/net/torvald/terrarum/worlddrawer/BlocksDrawer.kt
+++ b/src/net/torvald/terrarum/worlddrawer/BlocksDrawer.kt
@@ -9,7 +9,7 @@ import net.torvald.terrarum.App.measureDebugTime
import net.torvald.terrarum.App.printdbg
import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZE
import net.torvald.terrarum.blockproperties.Block
-import net.torvald.terrarum.gameitem.ItemID
+import net.torvald.terrarum.gameitems.ItemID
import net.torvald.terrarum.gameworld.GameWorld
import net.torvald.terrarum.gameworld.WorldSimulator
import net.torvald.terrarum.gameworld.WorldTime
diff --git a/src/net/torvald/terrarum/worlddrawer/CreateTileAtlas.kt b/src/net/torvald/terrarum/worlddrawer/CreateTileAtlas.kt
index d2a8e1d02..7b3da2455 100644
--- a/src/net/torvald/terrarum/worlddrawer/CreateTileAtlas.kt
+++ b/src/net/torvald/terrarum/worlddrawer/CreateTileAtlas.kt
@@ -11,7 +11,7 @@ import net.torvald.terrarum.*
import net.torvald.terrarum.App.printdbg
import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZE
import net.torvald.terrarum.blockproperties.Fluid
-import net.torvald.terrarum.gameitem.ItemID
+import net.torvald.terrarum.gameitems.ItemID
import net.torvald.terrarum.gameworld.GameWorld
import kotlin.math.roundToInt
diff --git a/terrarum.terrarum.iml b/terrarum.terrarum.iml
index 4badc2ccd..d1cfc0d0e 100644
--- a/terrarum.terrarum.iml
+++ b/terrarum.terrarum.iml
@@ -11,21 +11,15 @@
-
-
-
-
-
-