Skip to content

Commit faa1d1c

Browse files
committed
1.16.2 mcp using 1.16.1 mcp mappings
1 parent e78b2f6 commit faa1d1c

File tree

8 files changed

+45
-16
lines changed

8 files changed

+45
-16
lines changed

.gitignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,5 @@ npm-debug.log
1414
.env
1515
.DS_Store
1616

17-
.tmpaccesswidener/
17+
.tmpaccesswidener/
18+
\.linkie-cache/

src/main/kotlin/me/shedaniel/linkie/Namespace.kt

+6-3
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ abstract class Namespace(val id: String) {
4545
abstract fun getDefaultLoadedVersions(): List<String>
4646
abstract fun getAllVersions(): List<String>
4747
abstract fun reloadData()
48-
abstract fun getDefaultVersion(command: String? = null, channelId: Long? = null): String
48+
abstract fun getDefaultVersion(channel: String = getDefaultMappingChannel()): String
4949
fun getAllSortedVersions(): List<String> =
5050
getAllVersions().sortedWith(Comparator.nullsFirst(compareBy { it.tryToVersion() })).asReversed()
5151

@@ -74,11 +74,14 @@ abstract class Namespace(val id: String) {
7474
return MappingsProvider.supply(this, version, entry.isCached(version)) { entry.applyVersion(version).also { Namespaces.addMappingsContainer(it) } }
7575
}
7676

77-
fun getDefaultProvider(command: String?, channelId: Long?): MappingsProvider {
78-
val version = getDefaultVersion(command, channelId)
77+
fun getDefaultProvider(channel: String = getDefaultMappingChannel()): MappingsProvider {
78+
val version = getDefaultVersion()
7979
return getProvider(version)
8080
}
8181

82+
open fun getAvailableMappingChannels(): List<String> = listOf("release")
83+
open fun getDefaultMappingChannel(): String = getAvailableMappingChannels().first()
84+
8285
open fun supportsMixin(): Boolean = false
8386
open fun supportsAT(): Boolean = false
8487
open fun supportsAW(): Boolean = false

src/main/kotlin/me/shedaniel/linkie/namespaces/MCPNamespace.kt

+12-4
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,11 @@ import me.shedaniel.linkie.multipleCachedSupplier
66
import me.shedaniel.linkie.simpleCachedSupplier
77
import me.shedaniel.linkie.utils.Version
88
import me.shedaniel.linkie.utils.toVersion
9+
import me.shedaniel.linkie.utils.tryToVersion
910
import java.io.InputStream
1011
import java.io.InputStreamReader
1112
import java.net.URL
13+
import java.util.Comparator
1214
import java.util.zip.ZipInputStream
1315

1416
object MCPNamespace : Namespace("mcp") {
@@ -44,15 +46,21 @@ object MCPNamespace : Namespace("mcp") {
4446
mappingSource = MappingsContainer.MappingSource.MCP_TSRG
4547
}
4648
})
49+
registerSupplier(simpleCachedSupplier("1.16.2", "1.16.2-20200723") {
50+
MappingsContainer(it, name = "MCP").apply {
51+
loadTsrgFromURLZip(URL("http://files.minecraftforge.net/maven/de/oceanlabs/mcp/mcp_config/1.16.2/mcp_config-1.16.2.zip"))
52+
loadMCPFromURLZip(URL("https://files.minecraftforge.net/maven/de/oceanlabs/mcp/mcp_snapshot/20200723-1.16.1/mcp_snapshot-20200723-1.16.1.zip"))
53+
mappingSource = MappingsContainer.MappingSource.MCP_TSRG
54+
}
55+
})
4756
}
4857

4958
override fun supportsFieldDescription(): Boolean = false
50-
override fun getDefaultLoadedVersions(): List<String> = listOf(getDefaultVersion(null, null))
59+
override fun getDefaultLoadedVersions(): List<String> = listOf(getDefaultVersion())
5160
fun getAllBotVersions(): List<String> = mcpConfigSnapshots.keys.map { it.toString() }
52-
override fun getAllVersions(): List<String> = getAllBotVersions().toMutableList().also { it.addAll(listOf("1.16", "1.16.1")) }
53-
override fun getDefaultVersion(command: String?, channelId: Long?): String = "1.16.1"
61+
override fun getAllVersions(): List<String> = getAllBotVersions().toMutableList().also { it.addAll(listOf("1.16", "1.16.1", "1.16.2")) }
62+
override fun getDefaultVersion(channel: String): String = getAllVersions().maxWith(Comparator.nullsFirst(compareBy { it.tryToVersion() }))!!
5463

55-
// override fun getDefaultVersion(command: String?, channelId: Long?): String = mcpConfigSnapshots.keys.max()!!.toString()
5664
override fun supportsAT(): Boolean = true
5765
override fun reloadData() {
5866
mcpConfigSnapshots.clear()

src/main/kotlin/me/shedaniel/linkie/namespaces/MojangNamespace.kt

+7-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import java.net.URL
1212
object MojangNamespace : Namespace("mojang") {
1313
val versionJsonMap = mutableMapOf<String, String>()
1414
private var latestRelease = ""
15+
private var latestSnapshot = ""
1516

1617
init {
1718
registerSupplier(simpleCachedSupplier("1.14.4") {
@@ -55,9 +56,14 @@ object MojangNamespace : Namespace("mojang") {
5556
}
5657
}
5758
latestRelease = versionManifest.jsonObject["latest"]!!.jsonObject["release"]!!.content
59+
latestSnapshot = versionManifest.jsonObject["latest"]!!.jsonObject["snapshot"]!!.content
5860
}
5961

60-
override fun getDefaultVersion(command: String?, channelId: Long?): String = latestRelease
62+
override fun getDefaultVersion(channel: String): String = when(channel) {
63+
"snapshot" -> latestSnapshot
64+
else -> latestRelease
65+
}
66+
override fun getAvailableMappingChannels(): List<String> = listOf("release", "snapshot")
6167

6268
private fun MappingsContainer.readMojangMappings(client: String, server: String) {
6369
val invokes: MutableList<() -> Unit> = mutableListOf()

src/main/kotlin/me/shedaniel/linkie/namespaces/PlasmaNamespace.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,5 @@ object PlasmaNamespace : Namespace("plasma") {
3232
}
3333

3434
override fun supportsMixin(): Boolean = true
35-
override fun getDefaultVersion(command: String?, channelId: Long?): String = "b1.7.3"
35+
override fun getDefaultVersion(channel: String): String = "b1.7.3"
3636
}

src/main/kotlin/me/shedaniel/linkie/namespaces/SpigotNamespace.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ object SpigotNamespace : Namespace("spigot") {
2121
override fun getDefaultLoadedVersions(): List<String> = listOf()
2222
override fun getAllVersions(): List<String> = listOf("1.8.9")
2323
override fun reloadData() {}
24-
override fun getDefaultVersion(command: String?, channelId: Long?): String = "1.8.9"
24+
override fun getDefaultVersion(channel: String): String = "1.8.9"
2525

2626
private fun MappingsContainer.loadClassFromSpigot(stream: InputStream) {
2727
InputStreamReader(stream).forEachLine {

src/main/kotlin/me/shedaniel/linkie/namespaces/YarnNamespace.kt

+8-5
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ object YarnNamespace : Namespace("yarn") {
4747

4848
override fun getDefaultLoadedVersions(): List<String> {
4949
val versions = mutableListOf<String>()
50-
val latestVersion = getDefaultVersion(null, null)
50+
val latestVersion = getDefaultVersion()
5151
yarnBuilds.keys.firstOrNull { it.contains('.') && !it.contains('-') }?.takeIf { it != latestVersion }?.also { versions.add(it) }
5252
latestVersion.also { versions.add(it) }
5353
return versions
@@ -72,13 +72,16 @@ object YarnNamespace : Namespace("yarn") {
7272
yarnBuild1_8_9 = pom189.substring(pom189.indexOf("<latest>") + "<latest>".length, pom189.indexOf("</latest>"))
7373
}
7474

75-
override fun getDefaultVersion(command: String?, channelId: Long?): String =
76-
when (channelId) {
77-
602959845842485258 -> "1.2.5"
78-
661088839464386571 -> "1.14.4"
75+
override fun getDefaultVersion(channel: String): String =
76+
when (channel) {
77+
"legacy" -> "1.2.5"
78+
"patchwork" -> "1.14.4"
79+
"snapshot" -> yarnBuilds.keys.first()
7980
else -> yarnBuilds.keys.first { it.contains('.') && !it.contains('-') }
8081
}
8182

83+
override fun getAvailableMappingChannels(): List<String> = listOf("release", "snapshot", "patchwork", "legacy")
84+
8285
private fun MappingsContainer.loadIntermediaryFromMaven(
8386
mcVersion: String,
8487
repo: String = "https://maven.fabricmc.net",

src/test/kotlin/me/shedaniel/linkie/core/tests/LinkieTest.kt

+8
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package me.shedaniel.linkie.core.tests
33
import kotlinx.coroutines.delay
44
import kotlinx.coroutines.runBlocking
55
import me.shedaniel.linkie.Namespaces
6+
import me.shedaniel.linkie.namespaces.MCPNamespace
67
import me.shedaniel.linkie.namespaces.YarnNamespace
78
import me.shedaniel.linkie.utils.Version
89
import me.shedaniel.linkie.utils.tryToVersion
@@ -43,4 +44,11 @@ class LinkieTest {
4344
runBlocking { delay(5000) }
4445
assertEquals("1.16.2", YarnNamespace.getDefaultVersion())
4546
}
47+
48+
@Test
49+
fun mcp() {
50+
Namespaces.init(MCPNamespace)
51+
runBlocking { delay(5000) }
52+
assertEquals("1.16.2", MCPNamespace.getDefaultVersion())
53+
}
4654
}

0 commit comments

Comments
 (0)