private static void processTranslate(BaseComponent component) { if (component instanceof TranslatableComponent) { String oldTranslate = ((TranslatableComponent) component).getTranslate(); String newTranslate; newTranslate = MappingData.translateMapping.get(oldTranslate); if (newTranslate == null) MappingData.mojangTranslation.get(oldTranslate); if (newTranslate != null) { ((TranslatableComponent) component).setTranslate(newTranslate); } if (((TranslatableComponent) component).getWith() != null) { for (BaseComponent baseComponent : ((TranslatableComponent) component).getWith()) { processTranslate(baseComponent); } } } if (component.getHoverEvent() != null) { for (BaseComponent baseComponent : component.getHoverEvent().getValue()) { processTranslate(baseComponent); } } if (component.getExtra() != null) { for (BaseComponent baseComponent : component.getExtra()) { processTranslate(baseComponent); } } } }
BaseComponent(BaseComponent old) { setColor( old.getColorRaw() ); setBold( old.isBoldRaw() ); setItalic( old.isItalicRaw() ); setUnderlined( old.isUnderlinedRaw() ); setStrikethrough( old.isStrikethroughRaw() ); setObfuscated( old.isObfuscatedRaw() ); setInsertion( old.getInsertion() ); setClickEvent( old.getClickEvent() ); setHoverEvent( old.getHoverEvent() ); if ( old.getExtra() != null ) { for ( BaseComponent component : old.getExtra() ) { addExtra( component.duplicate() ); } } }