SurviePote 2/4: atlas Nebula (serveur SurviePote-26.3, distribution.json, sans binaires)
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
export enum LibraryType {
|
||||
|
||||
FORGE = 'FORGE'
|
||||
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
export interface ClaritasModuleMetadata {
|
||||
|
||||
/**
|
||||
* Present on ForgeMods (1.7-1.12) of type MOD.
|
||||
* Possibly present on ForgeMods (1.7-1.12) of type CORE_MOD and TWEAKER.
|
||||
* Always present on ForgeMods 1.13+.
|
||||
* Never present in all other circumstances.
|
||||
*/
|
||||
id?: string
|
||||
/**
|
||||
* Never present on ForgeMods (1.7-1.12) of type UNKNOWN.
|
||||
* Present in all other circumstances.
|
||||
*/
|
||||
group?: string
|
||||
/**
|
||||
* Possibly present on ForgeMods (1.7-1.12).
|
||||
* Never present in all other circumstances.
|
||||
*/
|
||||
version?: string
|
||||
/**
|
||||
* Possibly present on ForgeMods (1.7-1.12).
|
||||
* Never present in all other circumstances.
|
||||
*/
|
||||
name?: string
|
||||
/**
|
||||
* Always present on ForgeMods (1.7-1.12).
|
||||
* Never present in all other circumstances.
|
||||
*/
|
||||
modType?: ForgeModType_1_7
|
||||
|
||||
}
|
||||
|
||||
export enum ForgeModType_1_7 {
|
||||
MOD = 'MOD',
|
||||
CORE_MOD = 'CORE_MOD',
|
||||
TWEAKER = 'TWEAKER',
|
||||
UNKNOWN = 'UNKNOWN'
|
||||
}
|
||||
|
||||
export interface ClaritasResult {
|
||||
|
||||
[jarPath: string]: ClaritasModuleMetadata | undefined
|
||||
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
export interface FabricVersionMeta {
|
||||
version: string
|
||||
stable: boolean
|
||||
}
|
||||
|
||||
export interface FabricLoaderMeta extends FabricVersionMeta {
|
||||
separator: string
|
||||
build: number
|
||||
maven: string
|
||||
}
|
||||
|
||||
export interface FabricInstallerMeta extends FabricVersionMeta {
|
||||
url: string
|
||||
maven: string
|
||||
}
|
||||
|
||||
export interface Rule {
|
||||
action: string
|
||||
os?: {
|
||||
name: string
|
||||
version?: string
|
||||
}
|
||||
features?: {
|
||||
[key: string]: boolean
|
||||
}
|
||||
}
|
||||
|
||||
export interface RuleBasedArgument {
|
||||
rules: Rule[]
|
||||
value: string | string[]
|
||||
}
|
||||
|
||||
// This is really a mojang format, but it's currently only used here for Fabric.
|
||||
export interface FabricProfileJson {
|
||||
id: string
|
||||
inheritsFrom: string
|
||||
releaseTime: string
|
||||
time: string
|
||||
type: string
|
||||
mainClass: string
|
||||
arguments: {
|
||||
game: (string | RuleBasedArgument)[]
|
||||
jvm: (string | RuleBasedArgument)[]
|
||||
}
|
||||
libraries: {
|
||||
name: string // Maven identifier
|
||||
url: string
|
||||
}[]
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
// https://fabricmc.net/wiki/documentation:fabric_mod_json_spec
|
||||
// https://github.com/FabricMC/fabric-loader/blob/master/src/main/java/net/fabricmc/loader/impl/metadata/V1ModMetadataParser.java
|
||||
|
||||
type FabricEntryPoint = string | { value: string }
|
||||
|
||||
export interface FabricModJson {
|
||||
|
||||
id: string
|
||||
version: string
|
||||
name?: string
|
||||
entrypoints?: { [key: string]: FabricEntryPoint[] }
|
||||
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
// https://mcforge.readthedocs.io/en/latest/gettingstarted/structuring/#the-mcmodinfo-file
|
||||
export interface McModInfo {
|
||||
|
||||
modid: string
|
||||
name: string
|
||||
description: string
|
||||
version: string
|
||||
mcversion: string
|
||||
url: string
|
||||
updateUrl?: string
|
||||
updateJSON: string
|
||||
authorList: string[]
|
||||
credits: string
|
||||
logoFile: string
|
||||
screenshots: string[]
|
||||
parent: string
|
||||
useDependencyInformation: boolean
|
||||
requiredMods: string[]
|
||||
dependencies: string[]
|
||||
dependants: string[] // Spelled as dependants on forge's wiki.
|
||||
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
import { McModInfo } from './McModInfo.js'
|
||||
|
||||
export interface McModInfoList {
|
||||
|
||||
modListVersion: number
|
||||
modList: McModInfo[]
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
// https://github.com/MinecraftForge/MinecraftForge/blob/1.15.x/mdk/src/main/resources/META-INF/mods.toml
|
||||
|
||||
export interface ModsToml {
|
||||
|
||||
modLoader: string
|
||||
loaderVersion: string
|
||||
issueTrackerURL?: string
|
||||
|
||||
mods: {
|
||||
modId: string
|
||||
version: string
|
||||
displayName: string
|
||||
updateJSONURL?: string
|
||||
displayURL?: string
|
||||
logoFile?: string
|
||||
credits?: string
|
||||
authors?: string
|
||||
description: string
|
||||
}[]
|
||||
|
||||
dependencies?: {[modId: string]: {
|
||||
modId: string
|
||||
mandatory: boolean
|
||||
versionRange: string
|
||||
ordering?: 'NONE' | 'BEFORE' | 'AFTER'
|
||||
side: 'BOTH' | 'CLIENT' | 'SERVER'
|
||||
}}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
export interface PromotionsSlim {
|
||||
|
||||
homepage: string
|
||||
promos: {
|
||||
[id: string]: string
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
export interface VersionManifestFG2 {
|
||||
|
||||
id: string
|
||||
time: string
|
||||
releaseTime: string
|
||||
type: string
|
||||
minecraftArguments: string
|
||||
mainClass: string
|
||||
inheritsFrom: string
|
||||
jar: string
|
||||
logging: Record<string, unknown>
|
||||
libraries: {
|
||||
name: string
|
||||
url?: string
|
||||
checksums?: string[]
|
||||
serverreq?: boolean
|
||||
clientreq?: boolean
|
||||
comment?: string
|
||||
}[]
|
||||
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
export interface VersionManifestFG3 {
|
||||
|
||||
id: string
|
||||
time: string
|
||||
releaseTime: string
|
||||
type: string
|
||||
mainClass: string
|
||||
inheritsFrom: string
|
||||
logging: Record<string, unknown>
|
||||
arguments: {
|
||||
game: string[]
|
||||
}
|
||||
libraries: {
|
||||
name: string
|
||||
downloads: {
|
||||
artifact: {
|
||||
path: string
|
||||
url: string
|
||||
sha1: string
|
||||
size: number
|
||||
}
|
||||
}
|
||||
}[]
|
||||
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
import { Distribution } from 'helios-distribution-types'
|
||||
|
||||
export interface DistroMeta {
|
||||
|
||||
/**
|
||||
* Distribution metadata to be forwarded to the distribution file.
|
||||
*/
|
||||
meta: {
|
||||
rss: Distribution['rss']
|
||||
discord?: Distribution['discord']
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export function getDefaultDistroMeta(): DistroMeta {
|
||||
|
||||
return {
|
||||
|
||||
meta: {
|
||||
rss: '<LINK TO RSS FEED>',
|
||||
discord: {
|
||||
clientId: '<FILL IN OR REMOVE DISCORD OBJECT>',
|
||||
smallImageText: '<FILL IN OR REMOVE DISCORD OBJECT>',
|
||||
smallImageKey: '<FILL IN OR REMOVE DISCORD OBJECT>'
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,104 @@
|
||||
import { Server } from 'helios-distribution-types'
|
||||
|
||||
export interface UntrackedFilesOption {
|
||||
/**
|
||||
* The subdirectory these patterns will be applied to. Ex.
|
||||
* [ "files", "forgegemods" ]
|
||||
*/
|
||||
appliesTo: string[]
|
||||
/**
|
||||
* Glob patterns to match against the file.
|
||||
*/
|
||||
patterns: string[]
|
||||
}
|
||||
|
||||
export interface ServerMetaOptions {
|
||||
version?: string
|
||||
forgeVersion?: string
|
||||
fabricVersion?: string
|
||||
}
|
||||
|
||||
export function getDefaultServerMeta(id: string, version: string, options?: ServerMetaOptions): ServerMeta {
|
||||
|
||||
const servMeta: ServerMeta = {
|
||||
meta: {
|
||||
version: options?.version ?? '1.0.0',
|
||||
name: `${id} (Minecraft ${version})`,
|
||||
description: `${id} Running Minecraft ${version}`,
|
||||
icon: 'How to set the server icon: https://github.com/dscalzi/Nebula#setting-the-server-icon',
|
||||
address: 'localhost:25565',
|
||||
discord: {
|
||||
shortId: '<FILL IN OR REMOVE DISCORD OBJECT>',
|
||||
largeImageText: '<FILL IN OR REMOVE DISCORD OBJECT>',
|
||||
largeImageKey: '<FILL IN OR REMOVE DISCORD OBJECT>'
|
||||
},
|
||||
mainServer: false,
|
||||
autoconnect: false
|
||||
}
|
||||
}
|
||||
|
||||
if(options?.forgeVersion) {
|
||||
servMeta.meta.description = `${servMeta.meta.description} (Forge v${options.forgeVersion})`
|
||||
servMeta.forge = {
|
||||
version: options.forgeVersion
|
||||
}
|
||||
}
|
||||
|
||||
if(options?.fabricVersion) {
|
||||
servMeta.meta.description = `${servMeta.meta.description} (Fabric v${options.fabricVersion})`
|
||||
servMeta.fabric = {
|
||||
version: options.fabricVersion
|
||||
}
|
||||
}
|
||||
|
||||
// Add empty untracked files.
|
||||
servMeta.untrackedFiles = []
|
||||
|
||||
return servMeta
|
||||
}
|
||||
|
||||
export interface ServerMeta {
|
||||
|
||||
/**
|
||||
* Server metadata to be forwarded to the distribution file.
|
||||
*/
|
||||
meta: {
|
||||
version: Server['version']
|
||||
name: Server['name']
|
||||
description: Server['description']
|
||||
icon?: Server['icon']
|
||||
address: Server['address']
|
||||
discord?: Server['discord']
|
||||
mainServer: Server['mainServer']
|
||||
autoconnect: Server['autoconnect']
|
||||
javaOptions?: Server['javaOptions']
|
||||
}
|
||||
|
||||
/**
|
||||
* Properties related to Forge.
|
||||
*/
|
||||
forge?: {
|
||||
/**
|
||||
* The forge version. This does NOT include the minecraft version.
|
||||
* Ex. 14.23.5.2854
|
||||
*/
|
||||
version: string
|
||||
}
|
||||
|
||||
/**
|
||||
* Properties related to Fabric.
|
||||
*/
|
||||
fabric?: {
|
||||
/**
|
||||
* The fabric loader version. This does NOT include the minecraft version.
|
||||
* Ex. 0.14.18
|
||||
*/
|
||||
version: string
|
||||
}
|
||||
|
||||
/**
|
||||
* A list of option objects defining patterns for untracked files.
|
||||
*/
|
||||
untrackedFiles?: UntrackedFilesOption[]
|
||||
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
export interface Asset {
|
||||
|
||||
url: string
|
||||
path: string
|
||||
size: number
|
||||
hashType: string
|
||||
hash: string
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user