diff --git a/src/main/java/de/themoep/minedown/adventure/Replacer.java b/src/main/java/de/themoep/minedown/adventure/Replacer.java index 38db055..1017fd0 100644 --- a/src/main/java/de/themoep/minedown/adventure/Replacer.java +++ b/src/main/java/de/themoep/minedown/adventure/Replacer.java @@ -214,11 +214,13 @@ public Component replaceIn(Component component) { component = ((TextComponent) component).content(""); List children = new ArrayList<>(); children.add(replacedComponent); - children.addAll(component.children()); + children.addAll(replaceIn(component.children())); component = component.children(children); } else { - component = ((TextComponent) component).content(replaced); + component = ((TextComponent) component).content(replaced).children(replaceIn(component.children())); } + } else if (!component.children().isEmpty()) { + component = component.children(replaceIn(component.children())); } if (component instanceof TranslatableComponent) { component = ((TranslatableComponent) component).key(replaceIn(((TranslatableComponent) component).key())); @@ -259,8 +261,6 @@ public Component replaceIn(Component component) { } } - component = component.children(replaceIn(component.children())); - // Component replacements List replacedComponents = new ArrayList<>(); replacedComponents.add(component);