更新模组数据 (2026-10-22) (#7032)
This commit is contained in:
1 parent
e7b9a95df0
commit
fc66cbcf96
3 files changed
+826
-280
No files matched your search
File diff suppressed because it is too large.
Load diff
@@ -498,7 +498,7 @@
|
||||
506,,,莱姆星云,Lime Nebula,LN
|
||||
507,void-genesis,,Void Genesis,,
|
||||
508,create-flavored,,Create Flavored,,
|
||||
509,terrafirmagreg-vintage,,群峦格雷,TerraFirmaGreg,TFG
|
||||
509,terrafirmagreg-modern,,群峦格雷,TerraFirmaGreg,TFG
|
||||
510,create-astral,,机械动力:星辰,Create: Astral,
|
||||
511,,create-origin,起源创造,CreateOrigin,CO
|
||||
512,random-item-skyblock-recondite-i,,Random Item Island - Recondite I,,
|
||||
@@ -726,7 +726,7 @@
|
||||
738,all-the-mods-9-no-frills,,All the Mods 9 - No Frills,,ATM9NF
|
||||
739,toms-cobblemon,toms-cobblemon,Tom's Cobblemon,,
|
||||
740,life-in-the-village-3,,Life in the village 3,,LitV3
|
||||
741,,,联缘:NEXUS,,
|
||||
741,,,NEXUSrpg,,
|
||||
742,,create-cinematic,Create: Cinematic,,
|
||||
743,,,神秘纪元,Thaumic Epoch,ThE
|
||||
745,,,FTB Genesis,,
|
||||
@@ -1155,7 +1155,7 @@
|
||||
1177,ciscos-fantasy-medieval-rpg-dragonfyre,,Cisco's Fantasy Medieval RPG [Dragonfyre],,
|
||||
1178,all-the-mods-10-sky,,All the Mods 10: To the Sky,,ATM10S
|
||||
1179,,,谐伴匠途,,
|
||||
1181,,turbo_vulkan,转变思路优化,New-Path Optimization,NO
|
||||
1181,,turbo_vulkan,转变思路优化,\u200cNew-Path Optimization,NO
|
||||
1182,uls-zsurvival-craft,,Z-Liminex,,
|
||||
1183,,,MITE 重生 3,MITE Reborn 3,MR
|
||||
1184,reclamation-reclaim-the-world,,Reclamation - Reclaim the World!,,
|
||||
@@ -1164,7 +1164,7 @@
|
||||
1187,project-nope-zone,,Project Nope Zone,,PNZ
|
||||
1188,all-the-simple-zero,all-the-simple-zero,一切简易,All the Simple,ATS
|
||||
1189,,,匠战妖域,Tinkers' Warfare Demon Realm,twdr
|
||||
1190,,,空想生存,,
|
||||
1190,reverie-survival,,空想生存,,
|
||||
1191,,,东方起源鉴,Touhou Origins Annals,TOA
|
||||
1192,realm-of-destiny,,生命之境,Realm of Destiny,ROD
|
||||
1193,,,奇妙的世界,Special World,
|
||||
@@ -1241,7 +1241,7 @@
|
||||
1264,arcadia-rpg,,Arcadia[RPG],,
|
||||
1265,ozone-skyblock-reborn-2,,Ozone Skyblock Reborn 2,,
|
||||
1266,witarcland,,维塔克兰,Witarcland,WTL
|
||||
1267,big-globe-optimized-forge,big-globe-optimized-forge,Big Globe Optimized,,
|
||||
1267,big-globe-optimized-forge,big-globe-optimized,Big Globe Optimized,,
|
||||
1268,,656youhua,GD656轻量优化打底整合包,GD656 Ultimate Optimized,GDO
|
||||
1269,terra-firma-far-horizons,,群峦传说:野望,Terra Firma Far Horizons,TFFH
|
||||
1270,,,烬蓝物语 2,BlueAsh Things II,BAT2
|
||||
@@ -1498,3 +1498,20 @@
|
||||
1524,create-village-to-sky,,机械动力:下村上天,Create Village to Sky,
|
||||
1525,essence-odyssey,,本源远征,Essence Odyssey,
|
||||
1526,ftb-presents-architects-exodus,,FTB Presents Architect's Exodus,,
|
||||
1527,,,机械动力 x 格雷科技,Create x GregTech,CTGT
|
||||
1528,infinity-legacy-2,,无限遗产2,Infinity Legacy 2,IL2
|
||||
1529,,,千界万刃,Myriad Dimension Blades,
|
||||
1530,,bmtr,更好的我的世界铁路,Better MTR,BMTR
|
||||
1531,space-tech-integrated,,航天科技:集成,Space Tech: Integrated,
|
||||
1532,,,AE-无限工厂,AE2 Infinite Factory,AIF
|
||||
1533,verdant-sky,,Verdant Sky,,
|
||||
1534,,,空天工程师,Aerogineer,
|
||||
1535,generations-modpack-forge,,Generations,,
|
||||
1536,,,农夫但是劲大,Farmers But Powerful,
|
||||
1537,,,神道传说,,GR
|
||||
1538,createintegrated,,Create Integrated,,
|
||||
1539,vcmc1-16-5,,唯我生存,VeselfCraft,VCMC
|
||||
1540,,,侏罗纪重生之旅,Jurassic Reborn,
|
||||
1541,,,暗涌:深岩恐惧,Undercurrent: Fear In the Deep Rock,FIDR
|
||||
1542,cube-warper,,Cube Warper,,
|
||||
1543,ftb-evolution-2,,FTB Evolution 2,,
|
||||
|
+6
-39
@@ -287,19 +287,6 @@ public abstract class UpdateAddonProjectInfos extends DefaultTask {
|
||||
// Remove zero-width space (U+200B) characters.
|
||||
name = name.replace("\u200b", "");
|
||||
|
||||
// Remove zero-width non-joiner (U+200C) characters.
|
||||
name = name.replace("\u200c", "");
|
||||
|
||||
// Remove soft hyphen (U+00AD) characters.
|
||||
// TODO: Temporary workaround for https://www.mcmod.cn/class/3084.html
|
||||
name = name.replace("\u00ad", "");
|
||||
|
||||
// Remove left-to-right mark (U+200E) and right-to-left mark (U+200F) characters.
|
||||
// TODO: Temporary workaround for https://www.mcmod.cn/class/7550.html
|
||||
name = name
|
||||
.replace("\u200e", "")
|
||||
.replace("\u200f", "");
|
||||
|
||||
if (name.indexOf('&') >= 0) {
|
||||
// Most string values in the original JSON data contain HTML-escaped characters, such as `&`, `<`, and `>`.
|
||||
name = name
|
||||
@@ -343,6 +330,10 @@ public abstract class UpdateAddonProjectInfos extends DefaultTask {
|
||||
|
||||
/// Recognizes accepted mod ID syntax.
|
||||
private static final Pattern MODID_PATTERN = Pattern.compile("^[a-zA-Z0-9._|+' -]+$");
|
||||
|
||||
/// Recognizes numeric mod IDs that are not accepted by [#MODID_PATTERN] but are explicitly whitelisted.
|
||||
private static final Pattern NUMERIC_PATTERN = Pattern.compile("^[0-9]+$");
|
||||
|
||||
/// Explicitly accepted IDs that do not match [#MODID_PATTERN].
|
||||
private static final Set<String> MODID_WHITELIST = Set.of(
|
||||
// https://www.mcmod.cn/class/866.html
|
||||
@@ -369,40 +360,16 @@ public abstract class UpdateAddonProjectInfos extends DefaultTask {
|
||||
// replace non-breaking hyphen (U+2011) with normal hyphen
|
||||
// https://www.mcmod.cn/class/31211.html
|
||||
case "godfall‑trinkets" -> "godfall-trinkets";
|
||||
// https://www.mcmod.cn/class/30575.html
|
||||
case "enchantment-table\"" -> "enchantment-table";
|
||||
// https://www.mcmod.cn/class/28657.html
|
||||
case "斗蛐蛐" -> "mob_battle_plus";
|
||||
// https://www.mcmod.cn/class/4158.html
|
||||
case "morecuriostotemsofundying:" -> "mtca";
|
||||
// https://www.mcmod.cn/class/12820.html
|
||||
case "caves_&_canyons" -> "caves_canyons";
|
||||
// https://www.mcmod.cn/class/30957.html
|
||||
case "minecraft:" -> "moderncontentbackport";
|
||||
default -> cleanedModid;
|
||||
};
|
||||
|
||||
// https://www.mcmod.cn/class/31322.html
|
||||
if (cleanedModid.equals("minecraft")) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// https://www.mcmod.cn/class/4.html
|
||||
if (mcmodId == 4 && cleanedModid.equals("kamenridercraft4th")) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// https://www.mcmod.cn/class/15744.html
|
||||
if (mcmodId == 15744 && cleanedModid.equals("Fabric API")) {
|
||||
cleanedModid = "impropers3dminimap";
|
||||
}
|
||||
|
||||
// https://www.mcmod.cn/class/26546.html
|
||||
if (mcmodId == 26546 && cleanedModid.equals("swem")) {
|
||||
cleanedModid = "sweconm";
|
||||
}
|
||||
|
||||
if (!MODID_PATTERN.matcher(cleanedModid).matches() && !MODID_WHITELIST.contains(cleanedModid)) {
|
||||
if ((!MODID_PATTERN.matcher(cleanedModid).matches() || NUMERIC_PATTERN.matcher(cleanedModid).matches())
|
||||
&& !MODID_WHITELIST.contains(cleanedModid)) {
|
||||
throw new GradleException("Invalid modid: " + modid);
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user