public static IChatComponent removeCommandComponents( IChatComponent mainComp ) { List siblings = getChatComponentSiblings( ( ChatComponentStyle ) mainComp ); for ( int i = 0; i < siblings.size(); ++i ) { IChatComponent comp = ( IChatComponent ) siblings.get( i ); removeCommandComponents( comp ); } if ( mainComp.getChatStyle().getChatClickEvent() != null ) { mainComp.getChatStyle().setChatClickEvent( null ); } return mainComp; }
private static List getChatComponentSiblings( ChatComponentStyle comp ) { String field = ObfuscatedField.fromMcp( "net/minecraft/util/ChatComponentStyle", "siblings" ).srgName; return ( List ) ReflectionHelper.getPrivateValue( ChatComponentStyle.class, comp, field ); }