Compare commits

...
21 changed files with 257 additions and 169 deletions
@@ -1,59 +0,0 @@
import type { QuickReply } from '../types/quick-reply'
export default [
{
label: '✅ Corrections Applied',
message: async () =>
(await import('./messages/quick-replies/externals-permissions/corrections-applied.md?raw'))
.default,
private: false,
},
{
label: '🚫 Bad Proofs',
message: async () =>
(await import('./messages/quick-replies/externals-permissions/illegitimate-evidence.md?raw'))
.default,
private: false,
},
{
label: '⛔ Inaccessible Proofs',
message: async () =>
(await import('./messages/quick-replies/externals-permissions/inaccessible-evidence.md?raw'))
.default,
private: false,
},
{
label: '🌐 Not Permission to Distribute',
message: async () =>
(await import('./messages/quick-replies/externals-permissions/but-its-online.md?raw'))
.default,
private: false,
},
{
label: '🍴 Forks',
message: async () =>
(await import('./messages/quick-replies/externals-permissions/forks.md?raw')).default,
private: false,
},
{
label: '💲 Premium Content',
message: async () =>
(await import('./messages/quick-replies/externals-permissions/premium-content.md?raw'))
.default,
private: false,
},
{
label: '⚖️ Prohibited Content',
message: async () =>
(await import('./messages/quick-replies/externals-permissions/prohibited-content.md?raw'))
.default,
private: false,
},
{
label: '🧑‍💻 Cheats and Hacks',
message: async () =>
(await import('./messages/quick-replies/externals-permissions/cheats-and-hacks.md?raw'))
.default,
private: false,
},
] as ReadonlyArray<QuickReply>
@@ -0,0 +1,7 @@
## External Content Contains Commercial Restrictions
Some external content in your Modpack was found to be licensed under non-commercial terms.</br>
To ensure your Modpack complies with these licensing requirements, you must [opt-out of project monetization](%PROJECT_MONETIZATION_SETTINGS_LINK%), or provide proof of your explicit permission to include this content in your monetized Modpack.</br>
Keep in mind, if your project is approved with monetization disabled, you will not be able to re-enable it.
Please view your project's %PROJECT_PERMISSIONS_FLINK% for a list of content with non-commercial licensing requirements.
@@ -0,0 +1,8 @@
## Project Monetization
It looks like you've set this project to [opt-out of monetization](%PROJECT_MONETIZATION_SETTINGS_LINK%) as required by the licensing of some included external content.
So that your project can be Approved, you will not be able to re-enable monetization.</br>
Please view your project's %PROJECT_PERMISSIONS_FLINK% for a list of content with non-commercial licensing requirements.
If you think this is a mistake, %SUPPORT%
@@ -0,0 +1,7 @@
## Project Monetization
It looks like you've set this project to [opt-out of monetization](%PROJECT_MONETIZATION_SETTINGS_LINK%) in order to comply with the licensing requirements of included content.
So that your project can be Approved, you will not be able to re-enable monetization.
If you think this is a mistake, %SUPPORT%
@@ -0,0 +1,5 @@
The ARR license of this content does _not_ permit redistribution of files.
Listing content as ARR or "no license" indicates that the author intends to reserve **all** rights to their content, including the sole right to redistribution, unless otherwise specified.
If the author has indicated that this content may be distributed in Modpacks, please provide proof of this exception.
@@ -0,0 +1,3 @@
This project's license contains a non-commercial clause.
This may prohibit your ability to monetize this Modpack if included.
@@ -2,5 +2,5 @@ Unfortunately, the Moderation team is unable to assist with your issue.
The reporting system is exclusively for reporting issues to Moderation staff; only violations of [Modrinth's Content Rules](https://modrinth.com/legal/rules) should be reported. The members of the project you're reporting do not see that you have submitted a report.
If you are having issues with crashes, please check out our helpful guide to [Debugging Minecraft Crashes](https://support.modrinth.com/aen/articles/8792916) to learn how to diagnose and fix crashes.
If you are having issues with crashes, please check out our helpful guide to [Debugging Minecraft Crashes](https://support.modrinth.com/aen/articles/8792916) to learn how to diagnose and fix crashes.</br>
For other project-specific issues consider asking the project's own community, check for a Discord or Issues link on the project page.
@@ -1,4 +1,4 @@
Thank you for your report, we understand your concerns.
Currently, Modrinth does not prohibit "%TERM%" style mods or consider these to de facto violate section 3 of [Modrinth's Content Rules](https://modrinth.com/legal/rules) due to their considerable legitimate use-cases.
Currently, Modrinth does not prohibit "%TERM%" style mods or consider these to de facto violate section 3 of [Modrinth's Content Rules](https://modrinth.com/legal/rules) due to their considerable legitimate use-cases.</br>
If you have reason to believe a project on Modrinth is intentionally enabling or promoting cheating, we ask that you create a new report and provide sufficient evidence.
@@ -1,11 +1,11 @@
If you have reason to believe that a project on Modrinth is reuploading code or assets without permission, or otherwise violating section 4 of [Modrinth's Content Rules](https://modrinth.com/legal/rules), we ask that you create a new report and provide the necessary details for our Moderation team to take any applicable actions.
We ask that you provide examples of identical or significantly derived code or assets likely to have been copied from an original work.
We ask that you provide examples of identical or significantly derived code or assets likely to have been copied from an original work.</br>
Be sure to include:
- A link to the original work and its licensing, if available.
- The relative file path of the identical class(es) or asset(s) for the infringing and source work.
- Explanation of a reasonable belief that this content is copied from the provided source work, and not likely to have mutually originated or derived from another source.
Keep in mind that our Moderation team only enforces [Modrinth's Content Rules](https://modrinth.com/legal/rules) and can not arbitrate copyright disputes.
Keep in mind that our Moderation team only enforces [Modrinth's Content Rules](https://modrinth.com/legal/rules) and can not arbitrate copyright disputes.</br>
For more information, please read our [Copyright Policy](https://modrinth.com/legal/copyright).
@@ -1,4 +1,4 @@
Thank you for your report, we understand your concerns.
At this time, Modrinth does not prohibit the use of any specific tool, including AI tools, in the creation of project pages or content on Modrinth.
At this time, Modrinth does not prohibit the use of any specific tool, including AI tools, in the creation of project pages or content on Modrinth.</br>
If you have reason to believe that this project does not or cannot function as advertised, may be intentionally misleading, or otherwise violates [Modrinth's Content Rules](https://modrinth.com/legal/rules) please create a new report with the relevant evidence.
@@ -1,5 +1,5 @@
## Indefinitely Rejected
A project you uploaded has been found to contain or distribute malicious files, this is strictly prohibited and a violation of [Modrinth's Terms of Use](https://modrinth.com/legal/terms).
Our Moderation team has determined this project, and all projects associated with your account should be rejected indefinitely.
A project you uploaded has been found to contain or distribute malicious files, this is strictly prohibited and a violation of [Modrinth's Terms of Use](https://modrinth.com/legal/terms).</br>
Our Moderation team has determined this project, and all projects associated with your account should be rejected indefinitely.</br>
We believe this is the best course of action at this time and ask that you **do not resubmit this project**.
@@ -1,7 +1,7 @@
## Description Clarity
Per section 2 of [Modrinth's Content Rules](https://modrinth.com/legal/rules) It's important that your Description accurately and honestly represents the content of your project.
Currently, some elements in your Description may be confusing or misleading.
Please edit your description to ensure it accurately represents the current functionality of your project.
Avoid making hyperbolic claims that could misrepresent the facts of your project.
Per section 2 of [Modrinth's Content Rules](https://modrinth.com/legal/rules) It's important that your Description accurately and honestly represents the content of your project.</br>
Currently, some elements in your Description may be confusing or misleading.</br>
Please edit your description to ensure it accurately represents the current functionality of your project.</br>
Avoid making hyperbolic claims that could misrepresent the facts of your project.</br>
Ensure that your Description is accurate and not likely to confuse users.
@@ -0,0 +1,71 @@
import type { QuickReply } from '../../types/quick-reply'
export default [
{
label: '✅ Corrections Applied',
message: async () =>
(await import('../messages/quick-replies/externals-permissions/corrections-applied.md?raw'))
.default,
private: false,
},
{
label: '🚫 Bad Proofs',
message: async () =>
(await import('../messages/quick-replies/externals-permissions/illegitimate-evidence.md?raw'))
.default,
private: false,
},
{
label: '⛔ Inaccessible Proofs',
message: async () =>
(await import('../messages/quick-replies/externals-permissions/inaccessible-evidence.md?raw'))
.default,
private: false,
},
{
label: '🌐 Not Permission to Distribute',
message: async () =>
(await import('../messages/quick-replies/externals-permissions/but-its-online.md?raw'))
.default,
private: false,
},
{
label: '📝 ARR License',
message: async () =>
(await import('../messages/quick-replies/externals-permissions/arr-license.md?raw')).default,
private: false,
},
{
label: '💰 Non-Commercial License',
message: async () =>
(await import('../messages/quick-replies/externals-permissions/nc-license.md?raw')).default,
private: false,
},
{
label: '🍴 Forks',
message: async () =>
(await import('../messages/quick-replies/externals-permissions/forks.md?raw')).default,
private: false,
},
{
label: '💲 Premium Content',
message: async () =>
(await import('../messages/quick-replies/externals-permissions/premium-content.md?raw'))
.default,
private: false,
},
{
label: '⚖️ Prohibited Content',
message: async () =>
(await import('../messages/quick-replies/externals-permissions/prohibited-content.md?raw'))
.default,
private: false,
},
{
label: '🧑‍💻 Cheats and Hacks',
message: async () =>
(await import('../messages/quick-replies/externals-permissions/cheats-and-hacks.md?raw'))
.default,
private: false,
},
] as ReadonlyArray<QuickReply>
@@ -0,0 +1,81 @@
import type { QuickReply } from '../../types/quick-reply'
import type { ExtendedReport } from '../../types/reports'
export default [
{
label: '✅⚖️ Action Taken',
message: async () =>
(await import('../messages/quick-replies/reports/action-taken.md?raw')).default,
private: false,
},
{
label: '✅⚠️ Author Alerted',
message: async () =>
(await import('../messages/quick-replies/reports/author-alerted.md?raw')).default,
private: false,
},
{
label: '✅🏷️ Metadata Corrected',
message: async () =>
(await import('../messages/quick-replies/reports/metadata-corrected.md?raw')).default,
private: false,
},
{
label: '❌🏷️ Metadata Insufficient',
message: async () =>
(await import('../messages/quick-replies/reports/metadata-insufficient.md?raw')).default,
private: false,
},
{
label: '❌📤 Reupload Insufficient',
message: async () =>
(await import('../messages/quick-replies/reports/reupload-insufficient.md?raw')).default,
private: false,
},
{
label: '❌🏳️‍🌈 Spam',
message: async () => (await import('../messages/quick-replies/reports/spam.md?raw')).default,
private: false,
},
{
label: '❌🛡️ Antivirus',
message: async () =>
(await import('../messages/quick-replies/reports/antivirus.md?raw')).default,
private: false,
},
{
label: '❌👻 Functionality Disclosed',
message: async () =>
(await import('../messages/quick-replies/reports/functionality-disclosed.md?raw')).default,
private: false,
},
{
label: '❌🤖 Suspected AI',
message: async () =>
(await import('../messages/quick-replies/reports/suspected-ai.md?raw')).default,
private: false,
},
{
label: '❌👩‍💻 Not a Hack',
message: async () =>
(await import('../messages/quick-replies/reports/not-a-hack.md?raw')).default,
private: false,
},
{
label: '❌🕹️ Gameplay Issue',
message: async () =>
(await import('../messages/quick-replies/reports/gameplay-issue.md?raw')).default,
private: false,
},
{
label: '❌🎧 Platform Issue',
message: async () =>
(await import('../messages/quick-replies/reports/platform-issue.md?raw')).default,
private: false,
},
{
label: '❌🪦 Stale',
message: async () => (await import('../messages/quick-replies/reports/stale.md?raw')).default,
private: false,
},
] as ReadonlyArray<QuickReply<ExtendedReport>>
@@ -1,6 +1,6 @@
import type { Labrinth } from '@modrinth/api-client'
import type { QuickReply } from '../types/quick-reply'
import type { QuickReply } from '../../types/quick-reply'
export interface TechReviewContext {
project: Labrinth.Projects.v3.Project
@@ -12,31 +12,31 @@ export default [
{
label: '⚠️ Unclear/Misleading',
message: async () =>
(await import('./messages/quick-replies/tech-review/unclear-misleading.md?raw')).default,
(await import('../messages/quick-replies/tech-review/unclear-misleading.md?raw')).default,
private: false,
},
{
label: '📝 Request Source',
message: async () =>
(await import('./messages/quick-replies/tech-review/request-source.md?raw')).default,
(await import('../messages/quick-replies/tech-review/request-source.md?raw')).default,
private: false,
},
{
label: '🔒 Request Source (Obf)',
message: async () =>
(await import('./messages/quick-replies/tech-review/request-source-obf.md?raw')).default,
(await import('../messages/quick-replies/tech-review/request-source-obf.md?raw')).default,
private: false,
},
{
label: '📦 Request Source (Bin)',
message: async () =>
(await import('./messages/quick-replies/tech-review/request-source-bin.md?raw')).default,
(await import('../messages/quick-replies/tech-review/request-source-bin.md?raw')).default,
private: false,
},
{
label: '🚫 Malware',
message: async () =>
(await import('./messages/quick-replies/tech-review/malware.md?raw')).default,
(await import('../messages/quick-replies/tech-review/malware.md?raw')).default,
private: false,
},
] as ReadonlyArray<QuickReply<TechReviewContext>>
@@ -1,81 +0,0 @@
import type { QuickReply } from '../types/quick-reply'
import type { ExtendedReport } from '../types/reports'
export default [
{
label: '✅⚖️ Action Taken',
message: async () =>
(await import('./messages/quick-replies/reports/action-taken.md?raw')).default,
private: false,
},
{
label: '✅⚠️ Author Alerted',
message: async () =>
(await import('./messages/quick-replies/reports/author-alerted.md?raw')).default,
private: false,
},
{
label: '✅🏷️ Metadata Corrected',
message: async () =>
(await import('./messages/quick-replies/reports/metadata-corrected.md?raw')).default,
private: false,
},
{
label: '❌🏷️ Metadata Insufficient',
message: async () =>
(await import('./messages/quick-replies/reports/metadata-insufficient.md?raw')).default,
private: false,
},
{
label: '❌📤 Reupload Insufficient',
message: async () =>
(await import('./messages/quick-replies/reports/reupload-insufficient.md?raw')).default,
private: false,
},
{
label: '❌🏳️‍🌈 Spam',
message: async () => (await import('./messages/quick-replies/reports/spam.md?raw')).default,
private: false,
},
{
label: '❌🛡️ Antivirus',
message: async () =>
(await import('./messages/quick-replies/reports/antivirus.md?raw')).default,
private: false,
},
{
label: '❌👻 Functionality Disclosed',
message: async () =>
(await import('./messages/quick-replies/reports/functionality-disclosed.md?raw')).default,
private: false,
},
{
label: '❌🤖 Suspected AI',
message: async () =>
(await import('./messages/quick-replies/reports/suspected-ai.md?raw')).default,
private: false,
},
{
label: '❌👩‍💻 Not a Hack',
message: async () =>
(await import('./messages/quick-replies/reports/not-a-hack.md?raw')).default,
private: false,
},
{
label: '❌🕹️ Gameplay Issue',
message: async () =>
(await import('./messages/quick-replies/reports/gameplay-issue.md?raw')).default,
private: false,
},
{
label: '❌🎧 Platform Issue',
message: async () =>
(await import('./messages/quick-replies/reports/platform-issue.md?raw')).default,
private: false,
},
{
label: '❌🪦 Stale',
message: async () => (await import('./messages/quick-replies/reports/stale.md?raw')).default,
private: false,
},
] as ReadonlyArray<QuickReply<ExtendedReport>>
@@ -48,6 +48,21 @@ const permissions: Stage = {
(await import('../messages/checklist-messages/externals-permissions/missing.md?raw'))
.default,
},
{
id: 'non-commercial-external-content',
type: 'button',
label: 'Non-commercial externals',
weight: 2003,
suggestedStatus: 'rejected',
severity: 'high',
shouldShow: (project, projectV3) =>
projectV3.project_types?.includes('modpack') &&
projectV3.monetization_status === 'monetized' &&
!projectV3?.minecraft_server,
message: async () =>
(await import('../messages/checklist-messages/externals-permissions/non-commercial.md?raw'))
.default,
},
],
}
@@ -208,7 +208,7 @@ const reupload: Stage = {
required: false,
},
],
} as ToggleAction,
},
],
disablesActions: [
@@ -22,7 +22,7 @@ const statusAlerts: Stage = {
shouldShow: (project) => project.status !== 'approved',
message: async () =>
(await import('../messages/checklist-messages/status-alerts/fixed.md?raw')).default,
} as ButtonAction,
},
{
id: 'status_corrections_applied-approved',
type: 'button',
@@ -34,7 +34,7 @@ const statusAlerts: Stage = {
message: async () =>
(await import('../messages/checklist-messages/status-alerts/fixed-approved.md?raw'))
.default,
} as ButtonAction,
},
{
id: 'status_private_use',
type: 'button',
@@ -46,7 +46,7 @@ const statusAlerts: Stage = {
message: async () =>
(await import('../messages/checklist-messages/status-alerts/private/private.md?raw'))
.default,
} as ButtonAction,
},
{
id: 'status_private_use-server',
type: 'button',
@@ -58,7 +58,7 @@ const statusAlerts: Stage = {
message: async () =>
(await import('../messages/checklist-messages/status-alerts/private/private-server.md?raw'))
.default,
} as ButtonAction,
},
{
id: 'status_server_use',
type: 'button',
@@ -68,7 +68,7 @@ const statusAlerts: Stage = {
project.project_type === 'modpack' && !projectV3?.minecraft_server,
message: async () =>
(await import('../messages/checklist-messages/status-alerts/serverpack.md?raw')).default,
} as ButtonAction,
},
{
id: 'status_account_issues',
type: 'button',
@@ -79,7 +79,7 @@ const statusAlerts: Stage = {
message: async () =>
(await import('../messages/checklist-messages/status-alerts/account_issues.md?raw'))
.default,
} as ButtonAction,
},
{
id: 'status_automod_confusion',
type: 'button',
@@ -89,7 +89,35 @@ const statusAlerts: Stage = {
message: async () =>
(await import('../messages/checklist-messages/status-alerts/automod_confusion.md?raw'))
.default,
} as ButtonAction,
},
{
id: 'status_demonetized',
type: 'button',
label: `Demonetized`,
weight: -999999,
shouldShow: (project, projectV3) =>
projectV3.monetization_status === 'force-demonetized' &&
!projectV3.project_types?.includes('modpack') &&
!projectV3?.minecraft_server,
message: async () =>
(
await import('../messages/checklist-messages/status-alerts/demonetized/demonetized.md?raw')
).default,
},
{
id: 'status_demonetized_modpack',
type: 'button',
label: `Demonetized`,
weight: -999999,
shouldShow: (project, projectV3) =>
projectV3.monetization_status === 'force-demonetized' &&
projectV3.project_types?.includes('modpack') &&
!projectV3?.minecraft_server,
message: async () =>
(
await import('../messages/checklist-messages/status-alerts/demonetized/demonetized-modpack.md?raw')
).default,
},
],
}
+3 -3
View File
@@ -3,12 +3,12 @@ export { default as keybinds } from './data/keybinds'
export { finalPermissionMessages } from './data/modpack-permissions-stage'
export { default as nags } from './data/nags'
export * from './data/nags/index'
export { default as reportQuickReplies } from './data/report-quick-replies'
export { default as reportQuickReplies } from './data/quick-replies/report-quick-replies'
export {
type TechReviewContext,
default as techReviewQuickReplies,
} from './data/tech-review-quick-replies'
export { default as attributionQuickReplies } from './data/attribution-quick-replies'
} from './data/quick-replies/tech-review-quick-replies'
export { default as attributionQuickReplies } from './data/quick-replies/attribution-quick-replies'
export * from './locales'
export * from './types/actions'
export * from './types/keybinds'
+4 -1
View File
@@ -385,7 +385,10 @@ export function flattenProjectVariables(
vars[`PROJECT_PERMISSIONS_LINK`] =
`https://modrinth.com/project/${project.id}/settings/permissions`
vars[`PROJECT_PERMISSIONS_FLINK`] =
`[Permissions dashboard](https://modrinth.com/project/${project.id}/settings/permissions)`
`[Permissions settings](https://modrinth.com/project/${project.id}/settings/permissions)`
vars[`PROJECT_MONETIZATION_SETTINGS_LINK`] = `https://modrinth.com/project/${project.id}/settings`
vars[`PROJECT_MONETIZATION_SETTINGS_FLINK`] =
`[Monetization settings](https://modrinth.com/project/${project.id}/settings)`
return vars
}