diff --git a/src/main/java/net/minecraftforge/registries/ForgeRegistry.java b/src/main/java/net/minecraftforge/registries/ForgeRegistry.java index 565ba46ebd..fce2690412 100644 --- a/src/main/java/net/minecraftforge/registries/ForgeRegistry.java +++ b/src/main/java/net/minecraftforge/registries/ForgeRegistry.java @@ -685,26 +685,9 @@ public class ForgeRegistry> implements IForgeRe // Building a good looking table is not cheap, so only do it if the debug logger is enabled. if (LOGGER.isDebugEnabled(REGISTRYDUMP)) { - class Row - { - int id; - String key; - String value; - boolean dummied; - - private Row(int id) - { - this.id = id; - V val = getValue(id); - this.value = val.toString(); - this.key = getKey(val).toString(); - this.dummied = ForgeRegistry.this.dummies.contains(getKey(val)); - } - } - - TablePrinter tab = new TablePrinter() - .header("ID", r -> Integer.toString(r.id)) - .header("Dummy", r -> Boolean.toString(r.dummied)) + TablePrinter tab = new TablePrinter() + .header("ID", r -> r.id) + .header("Dummy", r -> r.dummied) .header("Key", r -> r.key) .header("Value", r -> r.value); @@ -712,12 +695,33 @@ public class ForgeRegistry> implements IForgeRe { sb.append("Registry Name: ").append(name).append('\n'); tab.clearRows(); - getKeys().stream().map(this::getID).sorted().map(Row::new).forEach(tab::add); + getKeys().stream().map(this::getID).sorted().map(id -> { + V val = getValue(id); + ResourceLocation key = getKey(val); + return new DumpRow(Integer.toString(id), getKey(val).toString(), val.toString(), Boolean.toString(this.dummies.contains(key))); + }).forEach(tab::add); tab.build(sb); })); } } + //TODO: Convert to record in 1.17+ + private static class DumpRow + { + final String id; + final String key; + final String value; + final String dummied; + + private DumpRow(String id, String key, String value, String dummied) + { + this.id = id; + this.key = key; + this.value = value; + this.dummied = dummied; + } + } + public void loadIds(Map ids, Map overrides, Map missing, Map remapped, ForgeRegistry old, ResourceLocation name) { Map ovs = Maps.newHashMap(overrides);