feat: handle geyser extension (#5582)
* feat: add geyser extension detection * feat: only show geyser if inferred
This commit is contained in:
@@ -45,9 +45,10 @@ import { Chips, FormattedTag, TagItem } from '@modrinth/ui'
|
||||
|
||||
const selectedLoaders = defineModel<string[]>({ default: [] })
|
||||
|
||||
const { loaders } = defineProps<{
|
||||
const { loaders, includeGeyser } = defineProps<{
|
||||
loaders: Labrinth.Tags.v2.Loader[]
|
||||
toggleLoader: (loader: string) => void
|
||||
includeGeyser?: boolean
|
||||
}>()
|
||||
|
||||
const loaderGroup = ref<GroupLabels>('mods')
|
||||
@@ -92,7 +93,7 @@ function groupLoaders(loaders: Labrinth.Tags.v2.Loader[]) {
|
||||
'bungeecord',
|
||||
'velocity',
|
||||
'waterfall',
|
||||
'geyser',
|
||||
...(includeGeyser ? ['geyser'] : []),
|
||||
]
|
||||
|
||||
const SHADER_SORT = ['optifine', 'iris', 'canvas', 'vanilla']
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
v-model="draftVersion.loaders"
|
||||
:loaders="generatedState.loaders"
|
||||
:toggle-loader="toggleLoader"
|
||||
:include-geyser="includeGeyser"
|
||||
/>
|
||||
|
||||
<div v-if="draftVersion.loaders.length" class="space-y-1">
|
||||
@@ -52,7 +53,9 @@ const generatedState = useGeneratedState()
|
||||
|
||||
const loaders = computed(() => generatedState.value.loaders)
|
||||
|
||||
const { draftVersion } = injectManageVersionContext()
|
||||
const { draftVersion, inferredVersionData } = injectManageVersionContext()
|
||||
|
||||
const includeGeyser = computed(() => inferredVersionData.value?.loaders?.includes('geyser'))
|
||||
|
||||
const toggleLoader = (loader: string) => {
|
||||
if (draftVersion.value.loaders.includes(loader)) {
|
||||
|
||||
@@ -236,6 +236,17 @@ export function createLoaderParsers(
|
||||
loaders: ['sponge'],
|
||||
}
|
||||
},
|
||||
// Geyser Extensions
|
||||
'extension.yml': (file: string): InferredVersionInfo => {
|
||||
const metadata = yaml.load(file) as any
|
||||
|
||||
return {
|
||||
name: metadata.version ? `${project.title} ${metadata.version}` : '',
|
||||
version_number: metadata.version,
|
||||
version_type: versionType(metadata.version),
|
||||
loaders: ['geyser'],
|
||||
}
|
||||
},
|
||||
// Modpacks
|
||||
'modrinth.index.json': (file: string): InferredVersionInfo => {
|
||||
const metadata = JSON.parse(file) as any
|
||||
|
||||
Reference in New Issue
Block a user