Add neoforge and immersiveweathering mcdoc

This commit is contained in:
Misode
2024-11-01 00:19:46 +01:00
parent 68eb077c17
commit 00f0c09a34
8 changed files with 320 additions and 46 deletions

View File

@@ -2,7 +2,7 @@ import * as core from '@spyglassmc/core'
import type { JsonNode } from '@spyglassmc/json'
import { JsonArrayNode, JsonObjectNode, JsonStringNode } from '@spyglassmc/json'
import { JsonStringOptions } from '@spyglassmc/json/lib/parser/string.js'
import type { ListType, McdocType, NumericRange, NumericType, PrimitiveArrayType, TupleType, UnionType } from '@spyglassmc/mcdoc'
import type { Attributes, ListType, McdocType, NumericRange, NumericType, PrimitiveArrayType, TupleType, UnionType } from '@spyglassmc/mcdoc'
import type { McdocCheckerContext, SimplifiedMcdocType, SimplifiedMcdocTypeNoUnion, SimplifyValueNode } from '@spyglassmc/mcdoc/lib/runtime/checker/index.js'
import { simplify } from '@spyglassmc/mcdoc/lib/runtime/checker/index.js'
@@ -130,15 +130,16 @@ export function isInlineTuple(type: TupleType) {
return type.items.length <= 4 && type.items.every(isNumericType)
}
export function formatIdentifier(id: string): string {
export function formatIdentifier(id: string, attributes?: Attributes): string {
if (id.startsWith('!')) {
return '! ' + formatIdentifier(id.substring(1))
return '! ' + formatIdentifier(id.substring(1), attributes)
}
const isStarred = attributes?.some(a => a.name === 'starred')
const text = id
.replace(/^minecraft:/, '')
.replaceAll('_', ' ')
.replace(/[a-z][A-Z]+/g, m => m.charAt(0) + ' ' + m.substring(1).toLowerCase())
return text.charAt(0).toUpperCase() + text.substring(1)
return (isStarred ? '✨ ' : '') + text.charAt(0).toUpperCase() + text.substring(1)
}
export function getCategory(type: McdocType) {

View File

@@ -247,7 +247,7 @@ function EnumHead({ type, optional, node, makeEdit }: Props<SimplifiedEnum>) {
{(value === undefined || optional) && <option value={SPECIAL_UNSET}>{locale('unset')}</option>}
{(value !== undefined && !type.values.map(v => v.value).includes(value)) && <option value={value}>{value}</option>}
{type.values.map(value =>
<option value={value.value}>{formatIdentifier(value.identifier)}</option>
<option value={value.value}>{formatIdentifier(value.identifier, value.attributes)}</option>
)}
</select>
}

View File

@@ -33,8 +33,10 @@ export type UnknownFile = {
}
export const FilePatterns = [
'worldgen/[a-z_]+',
'immersive_weathering/[a-z_]+',
'neoforge/[a-z_]+',
'ohthetreesyoullgrow/[a-z_]+',
'worldgen/[a-z_]+',
'tags/worldgen/[a-z_]+',
'tags/[a-z_]+',
'[a-z_]+',

View File

@@ -237,9 +237,11 @@ export class SpyglassService {
category: 'model',
},
// Partner resources
'ohthetreesyoullgrow/configured_feature': {
category: 'ohthetreesyoullgrow:configured_feature',
},
...Object.fromEntries(siteConfig.generators.filter(gen => gen.dependency).map(gen =>
[gen.path, {
category: gen.id,
}]
)),
},
},
lint: {

View File

@@ -584,15 +584,6 @@
"dependency": "immersive_weathering",
"minVersion": "1.18.2"
},
{
"id": "lithostitched:worldgen_modifier",
"url": "lithostitched/worldgen-modifier",
"path": "lithostitched/worldgen_modifier",
"tags": ["partners"],
"dependency": "lithostitched",
"minVersion": "1.20.2",
"wiki": "https://github.com/Apollounknowndev/lithostitched/wiki/Worldgen-Modifiers"
},
{
"id": "neoforge:biome_modifier",
"url": "neoforge/biome-modifier",
@@ -683,20 +674,6 @@
"minVersion": "1.20.2",
"wiki": "https://github.com/neoforged/NeoForge/blob/1.21.x/src/main/java/net/neoforged/neoforge/common/world/StructureModifiers.java"
},
{
"id": "obsidian:item",
"url": "obsidian/item",
"path": "obsidian_item",
"tags": ["partners"],
"dependency": "obsidian"
},
{
"id": "obsidian:block",
"url": "obsidian/block",
"path": "obsidian_block",
"tags": ["partners"],
"dependency": "obsidian"
},
{
"id": "ohthetreesyoullgrow:configured_feature",
"url": "ohthetreesyoullgrow/feature",

View File

@@ -68,26 +68,23 @@
"generator.error_max_version": "This generator is not available in versions above %0%",
"generator.error_min_version": "The minimum version for this generator is %0%",
"generator.font": "Font",
"generator.immersive_weathering.block_growth": "Block Growth",
"generator.immersive_weathering:block_growth": "Block Growth",
"generator.instrument": "Instrument",
"generator.item_modifier": "Item Modifier",
"generator.jukebox_song": "Jukebox Song",
"generator.lithostitched.worldgen_modifier": "Worldgen Modifier",
"generator.loot_table": "Loot Table",
"generator.model": "Model",
"generator.neoforge.biome_modifier": "Biome Modifier",
"generator.neoforge.data_map_compostables": "Compostables Data Map",
"generator.neoforge.data_map_furnace_fuels": "Furnace Fuels Data Map",
"generator.neoforge.data_map_monster_room_mobs": "Monster Room Mobs Data Map",
"generator.neoforge.data_map_oxidizables": "Oxidizables Data Map",
"generator.neoforge.data_map_parrot_imitations": "Parrot Imitations Data Map",
"generator.neoforge.data_map_raid_hero_gifts": "Raid Hero Gifts Data Map",
"generator.neoforge.data_map_vibration_frequencies": "Vibration Frequencies Data Map",
"generator.neoforge.data_map_waxables": "Waxables Data Map",
"generator.neoforge.structure_modifier": "Structure Modifier",
"generator.neoforge:biome_modifier": "Biome Modifier",
"generator.neoforge:data_map_compostables": "Compostables Data Map",
"generator.neoforge:data_map_furnace_fuels": "Furnace Fuels Data Map",
"generator.neoforge:data_map_monster_room_mobs": "Monster Room Mobs Data Map",
"generator.neoforge:data_map_oxidizables": "Oxidizables Data Map",
"generator.neoforge:data_map_parrot_imitations": "Parrot Imitations Data Map",
"generator.neoforge:data_map_raid_hero_gifts": "Raid Hero Gifts Data Map",
"generator.neoforge:data_map_vibration_frequencies": "Vibration Frequencies Data Map",
"generator.neoforge:data_map_waxables": "Waxables Data Map",
"generator.neoforge:structure_modifier": "Structure Modifier",
"generator.not_found": "Cannot find generator \"%0%\"",
"generator.obsidian.block": "Obsidian Block",
"generator.obsidian.item": "Obsidian Item",
"generator.ohthetreesyoullgrow:configured_feature": "OTTYG Feature",
"generator.pack_mcmeta": "Pack.mcmeta",
"generator.painting_variant": "Painting Variant",