diff --git a/cache/src/main/kotlin/org/openrs2/cache/Cache.kt b/cache/src/main/kotlin/org/openrs2/cache/Cache.kt index 26303a88..3899f91b 100644 --- a/cache/src/main/kotlin/org/openrs2/cache/Cache.kt +++ b/cache/src/main/kotlin/org/openrs2/cache/Cache.kt @@ -250,6 +250,7 @@ public class Cache private constructor( public const val MAX_ARCHIVE: Int = 254 @JvmOverloads + @JvmStatic public fun open( root: Path, alloc: ByteBufAllocator = ByteBufAllocator.DEFAULT, @@ -259,6 +260,7 @@ public class Cache private constructor( } @JvmOverloads + @JvmStatic public fun open( store: Store, alloc: ByteBufAllocator = ByteBufAllocator.DEFAULT, diff --git a/cache/src/main/kotlin/org/openrs2/cache/ChecksumTable.kt b/cache/src/main/kotlin/org/openrs2/cache/ChecksumTable.kt index 7160b3c2..7701f315 100644 --- a/cache/src/main/kotlin/org/openrs2/cache/ChecksumTable.kt +++ b/cache/src/main/kotlin/org/openrs2/cache/ChecksumTable.kt @@ -21,6 +21,7 @@ public class ChecksumTable( } public companion object { + @JvmStatic public fun create(store: Store): ChecksumTable { val table = ChecksumTable() @@ -46,6 +47,7 @@ public class ChecksumTable( return table } + @JvmStatic public fun read(buf: ByteBuf): ChecksumTable { val table = ChecksumTable() diff --git a/cache/src/main/kotlin/org/openrs2/cache/DiskStore.kt b/cache/src/main/kotlin/org/openrs2/cache/DiskStore.kt index 6e044cdc..bedd1800 100644 --- a/cache/src/main/kotlin/org/openrs2/cache/DiskStore.kt +++ b/cache/src/main/kotlin/org/openrs2/cache/DiskStore.kt @@ -501,6 +501,7 @@ public class DiskStore private constructor( } @JvmOverloads + @JvmStatic public fun open(root: Path, alloc: ByteBufAllocator = ByteBufAllocator.DEFAULT): Store { val js5DataPath = dataPath(root) val legacyDataPath = legacyDataPath(root) @@ -549,6 +550,8 @@ public class DiskStore private constructor( return DiskStore(root, data, musicData, archives, alloc, legacy) } + @JvmOverloads + @JvmStatic public fun create( root: Path, alloc: ByteBufAllocator = ByteBufAllocator.DEFAULT, diff --git a/cache/src/main/kotlin/org/openrs2/cache/FlatFileStore.kt b/cache/src/main/kotlin/org/openrs2/cache/FlatFileStore.kt index d2cd76cd..edd4bdcd 100644 --- a/cache/src/main/kotlin/org/openrs2/cache/FlatFileStore.kt +++ b/cache/src/main/kotlin/org/openrs2/cache/FlatFileStore.kt @@ -129,6 +129,7 @@ public class FlatFileStore private constructor( private const val GROUP_EXTENSION = ".dat" @JvmOverloads + @JvmStatic public fun open(root: Path, alloc: ByteBufAllocator = ByteBufAllocator.DEFAULT): Store { if (!Files.isDirectory(root)) { throw FileNotFoundException() @@ -138,6 +139,7 @@ public class FlatFileStore private constructor( } @JvmOverloads + @JvmStatic public fun create(root: Path, alloc: ByteBufAllocator = ByteBufAllocator.DEFAULT): Store { Files.createDirectories(root) return FlatFileStore(root, alloc) diff --git a/cache/src/main/kotlin/org/openrs2/cache/JagArchive.kt b/cache/src/main/kotlin/org/openrs2/cache/JagArchive.kt index 636849a8..abeb9ae0 100644 --- a/cache/src/main/kotlin/org/openrs2/cache/JagArchive.kt +++ b/cache/src/main/kotlin/org/openrs2/cache/JagArchive.kt @@ -230,6 +230,7 @@ public class JagArchive : Closeable { * @param buf the compressed archive. * @return the unpacked archive. */ + @JvmStatic public fun unpack(buf: ByteBuf): JagArchive { val archive = JagArchive() diff --git a/cache/src/main/kotlin/org/openrs2/cache/Js5CompressionType.kt b/cache/src/main/kotlin/org/openrs2/cache/Js5CompressionType.kt index e3e78447..8cf5a1a8 100644 --- a/cache/src/main/kotlin/org/openrs2/cache/Js5CompressionType.kt +++ b/cache/src/main/kotlin/org/openrs2/cache/Js5CompressionType.kt @@ -41,6 +41,7 @@ public enum class Js5CompressionType { public companion object { private val values = values() + @JvmStatic public fun fromOrdinal(ordinal: Int): Js5CompressionType? { return if (ordinal >= 0 && ordinal < values.size) { values[ordinal] diff --git a/cache/src/main/kotlin/org/openrs2/cache/Js5Index.kt b/cache/src/main/kotlin/org/openrs2/cache/Js5Index.kt index 908c4e72..3f4d6217 100644 --- a/cache/src/main/kotlin/org/openrs2/cache/Js5Index.kt +++ b/cache/src/main/kotlin/org/openrs2/cache/Js5Index.kt @@ -280,6 +280,7 @@ public class Js5Index( private const val FLAG_LENGTHS = 0x04 private const val FLAG_UNCOMPRESSED_CHECKSUMS = 0x08 + @JvmStatic public fun read(buf: ByteBuf): Js5Index { val number = buf.readUnsignedByte().toInt() val protocol = Js5Protocol.fromId(number) diff --git a/cache/src/main/kotlin/org/openrs2/cache/Js5MasterIndex.kt b/cache/src/main/kotlin/org/openrs2/cache/Js5MasterIndex.kt index 876aa299..51df61cd 100644 --- a/cache/src/main/kotlin/org/openrs2/cache/Js5MasterIndex.kt +++ b/cache/src/main/kotlin/org/openrs2/cache/Js5MasterIndex.kt @@ -118,6 +118,7 @@ public data class Js5MasterIndex( public companion object { private const val SIGNATURE_LENGTH = Whirlpool.DIGESTBYTES + 1 + @JvmStatic public fun create(store: Store): Js5MasterIndex { val masterIndex = Js5MasterIndex(MasterIndexFormat.ORIGINAL) @@ -181,10 +182,12 @@ public data class Js5MasterIndex( } @JvmOverloads + @JvmStatic public fun read(buf: ByteBuf, format: MasterIndexFormat, key: RSAKeyParameters? = null): Js5MasterIndex { return read(buf, format, key, true) } + @JvmStatic public fun readUnverified(buf: ByteBuf, format: MasterIndexFormat): Js5MasterIndex { return read(buf, format, null, false) } diff --git a/cache/src/main/kotlin/org/openrs2/cache/Js5Pack.kt b/cache/src/main/kotlin/org/openrs2/cache/Js5Pack.kt index dd17ea53..2015a003 100644 --- a/cache/src/main/kotlin/org/openrs2/cache/Js5Pack.kt +++ b/cache/src/main/kotlin/org/openrs2/cache/Js5Pack.kt @@ -91,6 +91,8 @@ public class Js5Pack private constructor( } public companion object { + @JvmOverloads + @JvmStatic public fun create( alloc: ByteBufAllocator = ByteBufAllocator.DEFAULT, unpackedCacheSize: Int = UnpackedCache.DEFAULT_CAPACITY @@ -107,6 +109,8 @@ public class Js5Pack private constructor( } } + @JvmOverloads + @JvmStatic public fun read( path: Path, alloc: ByteBufAllocator = ByteBufAllocator.DEFAULT, @@ -117,6 +121,8 @@ public class Js5Pack private constructor( } } + @JvmOverloads + @JvmStatic public fun read( input: InputStream, alloc: ByteBufAllocator = ByteBufAllocator.DEFAULT, diff --git a/cache/src/main/kotlin/org/openrs2/cache/Js5Protocol.kt b/cache/src/main/kotlin/org/openrs2/cache/Js5Protocol.kt index 67f5424c..043e770c 100644 --- a/cache/src/main/kotlin/org/openrs2/cache/Js5Protocol.kt +++ b/cache/src/main/kotlin/org/openrs2/cache/Js5Protocol.kt @@ -12,6 +12,7 @@ public enum class Js5Protocol { private const val OFFSET = 5 private val values = values() + @JvmStatic public fun fromId(id: Int): Js5Protocol? { val ordinal = id - OFFSET return if (ordinal >= 0 && ordinal < values.size) { diff --git a/cache/src/main/kotlin/org/openrs2/cache/Store.kt b/cache/src/main/kotlin/org/openrs2/cache/Store.kt index 4b1d3d1f..689da02a 100644 --- a/cache/src/main/kotlin/org/openrs2/cache/Store.kt +++ b/cache/src/main/kotlin/org/openrs2/cache/Store.kt @@ -136,6 +136,7 @@ public interface Store : Flushable, Closeable { * @throws IOException if an underlying I/O error occurs. */ @JvmOverloads + @JvmStatic public fun open(root: Path, alloc: ByteBufAllocator = ByteBufAllocator.DEFAULT): Store { val hasDataFile = Files.isRegularFile(DiskStore.dataPath(root)) val hasLegacyDataFile = Files.isRegularFile(DiskStore.legacyDataPath(root)) diff --git a/cache/src/main/kotlin/org/openrs2/cache/VersionList.kt b/cache/src/main/kotlin/org/openrs2/cache/VersionList.kt index 48f58e07..773b65d8 100644 --- a/cache/src/main/kotlin/org/openrs2/cache/VersionList.kt +++ b/cache/src/main/kotlin/org/openrs2/cache/VersionList.kt @@ -20,6 +20,7 @@ public class VersionList( public companion object { private val NAMES = listOf("model", "anim", "midi", "map") + @JvmStatic public fun read(archive: JagArchive): VersionList { val files = mutableListOf>()