Skip to content

Commit 7fa0a27

Browse files
authored
feat: handle geyser extension (#5582)
* feat: add geyser extension detection * feat: only show geyser if inferred
1 parent 01c9dee commit 7fa0a27

File tree

3 files changed

+18
-3
lines changed

3 files changed

+18
-3
lines changed

apps/frontend/src/components/ui/create-project-version/components/LoaderPicker.vue

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,10 @@ import { Chips, FormattedTag, TagItem } from '@modrinth/ui'
4545
4646
const selectedLoaders = defineModel<string[]>({ default: [] })
4747
48-
const { loaders } = defineProps<{
48+
const { loaders, includeGeyser } = defineProps<{
4949
loaders: Labrinth.Tags.v2.Loader[]
5050
toggleLoader: (loader: string) => void
51+
includeGeyser?: boolean
5152
}>()
5253
5354
const loaderGroup = ref<GroupLabels>('mods')
@@ -92,7 +93,7 @@ function groupLoaders(loaders: Labrinth.Tags.v2.Loader[]) {
9293
'bungeecord',
9394
'velocity',
9495
'waterfall',
95-
'geyser',
96+
...(includeGeyser ? ['geyser'] : []),
9697
]
9798
9899
const SHADER_SORT = ['optifine', 'iris', 'canvas', 'vanilla']

apps/frontend/src/components/ui/create-project-version/stages/LoadersStage.vue

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
v-model="draftVersion.loaders"
55
:loaders="generatedState.loaders"
66
:toggle-loader="toggleLoader"
7+
:include-geyser="includeGeyser"
78
/>
89

910
<div v-if="draftVersion.loaders.length" class="space-y-1">
@@ -52,7 +53,9 @@ const generatedState = useGeneratedState()
5253
5354
const loaders = computed(() => generatedState.value.loaders)
5455
55-
const { draftVersion } = injectManageVersionContext()
56+
const { draftVersion, inferredVersionData } = injectManageVersionContext()
57+
58+
const includeGeyser = computed(() => inferredVersionData.value?.loaders?.includes('geyser'))
5659
5760
const toggleLoader = (loader: string) => {
5861
if (draftVersion.value.loaders.includes(loader)) {

apps/frontend/src/helpers/infer/loader-parsers.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,17 @@ export function createLoaderParsers(
236236
loaders: ['sponge'],
237237
}
238238
},
239+
// Geyser Extensions
240+
'extension.yml': (file: string): InferredVersionInfo => {
241+
const metadata = yaml.load(file) as any
242+
243+
return {
244+
name: metadata.version ? `${project.title} ${metadata.version}` : '',
245+
version_number: metadata.version,
246+
version_type: versionType(metadata.version),
247+
loaders: ['geyser'],
248+
}
249+
},
239250
// Modpacks
240251
'modrinth.index.json': (file: string): InferredVersionInfo => {
241252
const metadata = JSON.parse(file) as any

0 commit comments

Comments
 (0)