Datapack support (#815)

* Shader support PR

* Make search page work

* Fix env showing

* Make moderation look reasonable

* Fix search for shaders

* Datapack support

* Make file types work + datapack inferring

* Add editing to file types

* Finish datapack file generation

* Fix bugs, make forge support work

* Fix inconsistent data pack label

* Final fixes
This commit is contained in:
Geometrically
2022-12-29 09:59:41 -07:00
committed by GitHub
parent 879576b613
commit 1f133dbcd0
22 changed files with 978 additions and 262 deletions

View File

@@ -27,9 +27,12 @@ export default {
},
},
mounted() {
document.addEventListener('dragenter', () => {
this.$refs.drop_area.style.visibility = 'visible'
})
// eslint-disable-next-line nuxt/no-env-in-hooks
if (process.client) {
document.addEventListener('dragenter', () => {
this.$refs.drop_area.style.visibility = 'visible'
})
}
},
methods: {
allowDrag(event) {

View File

@@ -123,6 +123,8 @@ export default {
return 'required'
case 'shader':
return 'required'
case 'datapack':
return 'optional'
default:
return 'unknown'
}
@@ -135,6 +137,8 @@ export default {
return 'unsupported'
case 'shader':
return 'unsupported'
case 'datapack':
return 'required'
default:
return 'unknown'
}

View File

@@ -50,7 +50,15 @@
<p class="description">
{{ description }}
</p>
<Categories :categories="categories" :type="type" class="tags">
<Categories
:categories="
categories.filter(
(x) => !hideLoaders || !$tag.loaders.find((y) => y.name === x)
)
"
:type="type"
class="tags"
>
<span v-if="moderation" class="environment">
<InfoIcon aria-hidden="true" />
A {{ projectTypeDisplay }}
@@ -58,7 +66,8 @@
<span
v-else-if="
!['resourcepack', 'shader'].includes(type) &&
!(projectTypeDisplay === 'plugin' && search)
!(projectTypeDisplay === 'plugin' && search) &&
!categories.some((x) => $tag.loaderData.dataPackLoaders.includes(x))
"
class="environment"
>
@@ -261,6 +270,11 @@ export default {
required: false,
default: true,
},
hideLoaders: {
type: Boolean,
required: false,
default: false,
},
},
computed: {
projectTypeDisplay() {

View File

@@ -31,8 +31,7 @@ export default {
.filter(
(x) =>
this.categories.includes(x.name) &&
(!x.project_type || x.project_type === this.type) &&
x.name !== 'minecraft'
(!x.project_type || x.project_type === this.type)
)
},
},