Port pack: a mod made for 1.20 is not carried or counted as come over

check already refused a jar whose data folders are named as before 1.21; carry and report did
not, so a 1.20 pack's mods were carried and counted as partial while 26.3 read none of their
recipes, loot tables, tags or structures (Prominence II: 149 of 308 "come over", 28,948 recipes
and 8,784 loot tables in recipes/ and loot_tables/).

old_layout moves to carry and reads every folder 1.21 renamed (structures/, advancements/,
tags/blocks/, ...), by the larger share: a 1.20 jar may hold a misnamed singular tag folder and
a 1.21 jar a stale plural copy. carry writes old_layout to carry-report.json and carries
nothing; the report's row says why, is not one Port can carry over, and the launcher does not
count it as portable.

Fixes #10249

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
Evrim CicekandClaude Opus 5.5 committed 2026-11-06 00:21:33 +03:00
1 parent 5849fa33b3
commit 2ea59c309b
93 files changed
+359 -19

No files matched your search

+186
View File
@@ -13,8 +13,54 @@ use std::{
path::Path,
};
/// What `check`, the carry and the report say of a jar made for 1.20 or older.
pub const OLD_LAYOUT: &str =
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.";
/// The data folders 1.21 (pack format 45) renamed to the singular, before and after.
const RENAMED_IN_1_21: [(&str, &str); 13] = [
("recipes", "recipe"),
("loot_tables", "loot_table"),
("structures", "structure"),
("advancements", "advancement"),
("predicates", "predicate"),
("item_modifiers", "item_modifier"),
("functions", "function"),
("tags/blocks", "tags/block"),
("tags/items", "tags/item"),
("tags/entity_types", "tags/entity_type"),
("tags/fluids", "tags/fluid"),
("tags/game_events", "tags/game_event"),
("tags/functions", "tags/function"),
];
/// Data files mostly in folders named as before 1.21 (`recipes/`, `loot_tables/`,
/// `tags/blocks/`, `structures/`...): the game doesn't read them, and the carry upgrades
/// from 1.21.1 on. Some 1.21 jars keep a stale plural folder beside the new one, and some
/// 1.20 jars hold a tag folder or two in the singular, so the larger share decides.
pub fn old_layout(names: &[String]) -> bool {
let (mut old, mut new) = (0usize, 0usize);
for n in names {
let p: Vec<&str> = n.split('/').collect();
if p.len() < 4 || p[0] != "data" {
continue;
}
let folder = if p[2] == "tags" && p.len() > 4 {
format!("tags/{}", p[3])
} else {
p[2].to_owned()
};
old += usize::from(RENAMED_IN_1_21.iter().any(|(before, _)| *before == folder));
new += usize::from(RENAMED_IN_1_21.iter().any(|(_, after)| *after == folder));
}
old > new
}
#[derive(Debug, Default, Serialize)]
pub struct Report {
/// Made for 1.20 or older ([`old_layout`]): nothing was carried.
#[serde(skip_serializing_if = "std::ops::Not::not")]
pub old_layout: bool,
pub copied: usize,
/// Namespaces besides the mod id its content owns ([`extra_namespaces`]),
/// listed in the manifest's `namespaces`.
@@ -866,6 +912,20 @@ pub fn carry(
let _ = fs::remove_dir_all(&inside);
let _ = fs::remove_dir_all(&outside);
let mut report = Report::default();
let names: Vec<String> = zip
.file_names()
.map(|name| name.map(|name| name.into_owned()))
.collect::<Result<_, _>>()
.map_err(|e| format!("{}: {e}", jar.display()))?;
if old_layout(&names) {
// The report reads this to say why the mod did not come over.
report.old_layout = true;
write(
&out.join("carry-report.json"),
&serde_json::to_vec_pretty(&report).unwrap_or_default(),
)?;
return Err(OLD_LAYOUT.into());
}
let mut blockstates: BTreeMap<String, Value> = BTreeMap::new();
let mut item_models = BTreeSet::new();
// Models another item model's `overrides` switch to (trim looks, a bow's pull): variants, not items.
@@ -1551,6 +1611,132 @@ mod tests {
fs::remove_dir_all(&dir).unwrap();
}
/// 1.21 named every data folder in the singular, tags' too; a jar holding only
/// the plural ones is made for 1.20 or older, whichever of them it ships.
#[test]
fn old_layout_reads_every_folder_1_21_renamed() {
let names = |list: &[&str]| list.iter().map(|n| n.to_string()).collect::<Vec<_>>();
for old in [
"data/m/recipes/a.json",
"data/m/loot_tables/blocks/a.json",
"data/m/structures/a.nbt",
"data/m/advancements/a.json",
"data/m/tags/blocks/a.json",
"data/c/tags/items/a.json",
"data/m/tags/entity_types/a.json",
"data/m/functions/a.mcfunction",
] {
assert!(
old_layout(&names(&[old, "assets/m/lang/en_us.json"])),
"{old}"
);
}
for new in [
"data/m/recipe/a.json",
"data/m/structure/a.nbt",
"data/m/tags/block/a.json",
] {
assert!(!old_layout(&names(&[new])), "{new}");
// A stale plural folder beside the singular ones is a 1.21 jar.
assert!(
!old_layout(&names(&[new, "data/m/tags/blocks/a.json"])),
"{new}"
);
}
// A 1.20 jar with a tag folder misnamed in the singular (Prominence II's
// forcemaster-class-mod: 49 files in plural folders, 3 in `tags/entity_type/`).
assert!(old_layout(&names(&[
"data/m/recipes/a.json",
"data/m/recipes/b.json",
"data/m/tags/items/a.json",
"data/m/tags/entity_type/a.json",
])));
// Folders 1.21 kept as they were say nothing either way.
assert!(!old_layout(&names(&["data/m/worldgen/structure/a.json"])));
assert!(!old_layout(&names(&["assets/m/lang/en_us.json"])));
}
/// A jar made for 1.20 or older names its data folders as before 1.21
/// (`recipes/`, `loot_tables/`, `tags/blocks/`), which 26.3 does not read.
/// `check` says so; the pack's carry and report say the same, rather than
/// count a mod whose recipes and loot tables would not load as come over.
#[test]
fn a_jar_made_for_1_20_is_not_carried_and_the_report_says_why() {
use crate::{
inventory::Record,
report::{self, Status},
};
let nonce = std::time::SystemTime::now()
.duration_since(std::time::UNIX_EPOCH)
.unwrap()
.as_nanos();
let dir = std::env::temp_dir().join(format!("horizon-old-{}-{nonce}", std::process::id()));
fs::create_dir_all(&dir).unwrap();
let jar = dir.join("old.jar");
let mut zip = zip::ZipWriter::new(fs::File::create(&jar).unwrap());
for (name, body) in [
(
"assets/example/blockstates/stone.json",
br#"{"variants":{"":{"model":"example:block/stone"}}}"#.as_slice(),
),
(
"data/example/recipes/stone.json",
br#"{"type":"minecraft:crafting_shapeless","ingredients":[{"item":"minecraft:stone"}],"result":{"item":"example:stone"}}"#,
),
(
"data/example/loot_tables/blocks/stone.json",
br#"{"type":"minecraft:block","pools":[]}"#,
),
] {
zip.start_file(name, zip::write::SimpleFileOptions::default())
.unwrap();
zip.write_all(body).unwrap();
}
zip.finish().unwrap();
let work = dir.join("work");
let out = work.join("mods/example");
// A carry an older build left: it goes, as for any re-carry.
fs::create_dir_all(out.join("carry")).unwrap();
let info = crate::jar::JarInfo {
mod_id: "example".into(),
..Default::default()
};
let err = carry(
&jar,
&info,
&out,
None,
&|_| true,
&Pack {
loaded: &|_| true,
mods: &|_| false,
},
&BTreeMap::new(),
)
.unwrap_err();
assert!(err.contains("1.20 or older"), "{err}");
assert!(!out.join("carry").exists());
let records = [Record {
key: "example".into(),
class: "content".into(),
tier: "data".into(),
jar: Some(jar.clone()),
..Default::default()
}];
let rows = report::build(&records, &work);
let row = &rows[0];
assert_eq!(row.status, Status::NotYet);
assert!(row.old_layout);
assert!(row.reason.contains("1.20 or older"), "{}", row.reason);
assert!(row.plain.contains("1.20 or older"), "{}", row.plain);
// Not one Port can still carry over: it waits on other work.
let s = report::summary(&rows);
assert_eq!((s.needing, s.carried, s.ready, s.later), (1, 0, 0, 1));
fs::remove_dir_all(&dir).unwrap();
}
/// YUNG's pools carry comments, which Minecraft's lenient reader skips;
/// the carry holds them as plain JSON. A comment marker inside a string
/// stays, and text that is not JSON without its comments is refused.
+2 -17
View File
@@ -71,19 +71,6 @@ fn loader(names: &[String]) -> &'static str {
}
}
/// Data folders named as before 1.21 (`recipes/`, `loot_tables/`) and none
/// as 1.21 names them: the game doesn't read them, and the carry upgrades
/// from 1.21.1 on. (Some jars keep a stale plural folder beside the new one.)
fn old_layout(names: &[String]) -> bool {
let has = |kinds: [&str; 2]| {
names.iter().any(|n| {
let p: Vec<&str> = n.split('/').collect();
p.len() > 3 && p[0] == "data" && kinds.contains(&p[2]) && n.ends_with(".json")
})
};
has(["recipes", "loot_tables"]) && !has(["recipe", "loot_table"])
}
fn plural(n: usize, one: &str, many: &str) -> String {
format!("{n} {}", if n == 1 { one } else { many })
}
@@ -130,10 +117,8 @@ pub fn check(jar_path: &Path, out: &Path) -> Result<Check, String> {
crate::pipeline::write_json(&out.join("check.json"), &check)?;
Ok(check)
};
if old_layout(&names) {
check.summary = "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 \
and later."
.into();
if carry::old_layout(&names) {
check.summary = carry::OLD_LAYOUT.into();
return done(check);
}
let alone = |m: &str| m == info.mod_id || m == "minecraft";
+21
View File
@@ -68,6 +68,10 @@ pub struct Row {
/// Unported dependencies, kept apart so the launcher can translate the fixed sentence.
#[serde(default)]
pub waiting: usize,
/// Made for 1.20 or older (data folders named as before 1.21): not carried, and not one
/// Port can carry over either.
#[serde(default, skip_serializing_if = "std::ops::Not::not")]
pub old_layout: bool,
}
impl Row {
@@ -194,6 +198,14 @@ fn plain_not_needed(class: &str) -> &'static str {
}
}
/// Whether the carry found the mod made for 1.20 or older ([`crate::carry::old_layout`]).
fn old_layout(work: &Path, key: &str) -> bool {
std::fs::read(work.join("mods").join(key).join("carry-report.json"))
.ok()
.and_then(|b| serde_json::from_slice::<Value>(&b).ok())
.is_some_and(|c| c["old_layout"] == true)
}
/// A carried-over mod: ported when its harness passes with nothing left
/// out and nothing the templates miss; else partial, with what is missing.
fn carried(work: &Path, key: &str) -> Option<(Status, String)> {
@@ -304,6 +316,7 @@ fn resource_row(path: &str, outcome: Option<&Outcome>, record: Option<&Record>)
Status::NotYet
},
waiting: 0,
old_layout: false,
plain: match (shader, outcome.map(|o| o.state)) {
(true, _) => "Shader packs are not converted yet.",
(false, Some(State::Available)) => "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
@@ -332,12 +345,16 @@ pub fn build(records: &[Record], work: &Path) -> Vec<Row> {
if r.path.starts_with("resourcepacks/") || r.path.starts_with("shaderpacks/") {
return resource_row(&r.path, resourcepacks.files.get(&r.path), Some(r));
}
let old = old_layout(work, &r.key);
let (status, reason) = if r.class == "unknown" {
let why =
"unclassified: its jar (mods.toml, file census) or a reviewed row decides";
(Status::NotYet, why.to_owned())
} else if r.tier == "none" || matches!(r.class.as_str(), "library" | "performance") {
(Status::NotNeeded, not_needed(&r.class).to_owned())
} else if old {
let why = "made for Minecraft 1.20 or older: its data folders (recipes/, loot_tables/) are named as before 1.21, which 26.3 does not read; not carried";
(Status::NotYet, why.to_owned())
} else if let Some(c) = carried(work, &r.key) {
c
} else {
@@ -360,7 +377,9 @@ pub fn build(records: &[Record], work: &Path) -> Vec<Row> {
status,
reason,
waiting: 0,
old_layout: old,
plain: match status {
Status::NotYet if old => crate::carry::OLD_LAYOUT,
Status::NotYet => plain_not_yet(r),
Status::NotNeeded => plain_not_needed(&r.class),
carried => carried.meaning(),
@@ -422,6 +441,8 @@ pub fn summary(rows: &[Row]) -> Summary {
Status::NotNeeded => continue,
Status::Ported => s.carried += 1,
Status::Partial => (s.carried, s.partial) = (s.carried + 1, s.partial + 1),
// Not one port can carry over: the 1.20 data would not load.
Status::NotYet if r.old_layout => s.later += 1,
Status::NotYet if r.class == "content" && r.tier == "data" => s.ready += 1,
Status::NotYet
if r.class != "unknown"
@@ -29,6 +29,7 @@ fn row(class: &str, tier: &str, status: Status) -> Row {
reason: String::new(),
plain: String::new(),
waiting: 0,
old_layout: false,
}
}
+5 -1
View File
@@ -878,7 +878,11 @@ left out (blocks with a class of their own are counted and named, since facts ca
their extra code); **partial** with the failing checks, the blocks left out and what the
templates miss; **not yet** with the API tier it waits for, or the dependency; **not needed**
for libraries, performance mods, pack tooling and what Horizon has built in. Unclassified mods
(the 20 CurseForge-only rows the reviewed table only guesses) count as not yet.
(the 20 CurseForge-only rows the reviewed table only guesses) count as not yet. A mod made for
1.20 or older (its `recipes/` and `loot_tables/` folders named as before 1.21, which 26.3 does
not read) is not carried, as `check` doesn't carry it either: not yet, and not one Port can
carry over. Prominence II (Fabric 1.20.1, 445 jars) had 149 such mods counted as come over,
with 28,948 recipes and 8,784 loot tables that would not load.
Both files open with a plain headline for players, counted from the rows' own status, class and
tier: how many of the mods that need porting came over (ported or partial, as content: blocks,
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+1
View File
@@ -17,6 +17,7 @@
"Pack tooling or a game feature that Horizon already has, so there is nothing to port.": "Pack tooling or a game feature that Horizon already has, so there is nothing to port.",
"Built into Horizon already, so there is nothing to port.": "Built into Horizon already, so there is nothing to port.",
"Nothing to port.": "Nothing to port.",
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.": "Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later.",
"Shader packs are not converted yet.": "Shader packs are not converted yet.",
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.": "Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen.",
"Not downloaded yet; Port gets it.": "Not downloaded yet; Port gets it.",
+57 -1
View File
@@ -184,6 +184,7 @@ pub fn row_plain(row: &Row) -> String {
"Pack tooling or a game feature that Horizon already has, so there is nothing to port." => tr("Pack tooling or a game feature that Horizon already has, so there is nothing to port."),
"Built into Horizon already, so there is nothing to port." => tr("Built into Horizon already, so there is nothing to port."),
"Nothing to port." => tr("Nothing to port."),
"Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later." => tr("Made for Minecraft 1.20 or older: Horizon ports mods made for 1.21 and later."),
"Shader packs are not converted yet." => tr("Shader packs are not converted yet."),
"Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen." => tr("Copied as a resource pack; Horizon has not checked how it renders. Turn it on in the game's Resource Packs screen."),
"Not downloaded yet; Port gets it." => tr("Not downloaded yet; Port gets it."),
@@ -235,6 +236,16 @@ pub fn load(work: &Path) -> Result<Imported, String> {
.iter()
.filter(|f| f.kind() == "resourcepacks" && f.client != "unsupported")
.count();
// A mod the carry found made for 1.20 or older is not one the port step can carry over.
let old: std::collections::BTreeSet<&str> = rows
.iter()
.filter(|r| r.old_layout)
.map(|r| r.key.as_str())
.collect();
let portable = records
.iter()
.filter(|r| pipeline::portable(r) && !old.contains(r.key.as_str()))
.count();
Ok(Imported {
resourcepacks,
indexed_resources,
@@ -248,7 +259,7 @@ pub fn load(work: &Path) -> Result<Imported, String> {
fetched,
mods,
left_off,
portable: records.iter().filter(|r| pipeline::portable(r)).count(),
portable,
})
}
@@ -555,4 +566,49 @@ mod tests {
assert_eq!(p.indexed_resources, 1);
fs::remove_dir_all(root).unwrap();
}
/// Prominence II (Fabric 1.20.1): of its 29 data-tier content mods the port found 24 made
/// for 1.20 or older. Those are not carried, so the pack does not list them as portable.
#[test]
fn mods_made_for_1_20_are_not_portable() {
let root = std::env::temp_dir().join(format!(
"horizon-launcher-old-layout-{}",
std::process::id()
));
fs::create_dir_all(&root).unwrap();
pipeline::write_json(&root.join("pack.json"), &Pack::default()).unwrap();
let record = |key: &str| horizon_port_pack::inventory::Record {
key: key.into(),
class: "content".into(),
tier: "data".into(),
..Default::default()
};
pipeline::write_json(
&root.join("inventory.json"),
&vec![record("old"), record("new")],
)
.unwrap();
let row = |key: &str, old_layout: bool| Row {
key: key.into(),
name: key.into(),
class: "content".into(),
tier: "data".into(),
license: String::new(),
license_kind: "unknown".into(),
status: Status::NotYet,
reason: String::new(),
plain: String::new(),
waiting: 0,
old_layout,
};
pipeline::write_json(
&root.join("coverage.json"),
&vec![row("old", true), row("new", false)],
)
.unwrap();
let p = load(&root).unwrap();
assert_eq!(p.portable, 1);
assert!(p.can_port());
fs::remove_dir_all(root).unwrap();
}
}
+1
View File
@@ -23,6 +23,7 @@ fn row(class: &str, tier: &str, status: Status) -> Row {
reason: String::new(),
plain: String::new(),
waiting: 0,
old_layout: false,
}
}